扬腾创新golang2轮面试,二面相当硬核。我差点崩溃。。

一面

1、自我介绍,换工作的原因是什么?

2、物流开发平台是做什么?链路上都有哪些核心模块?

一个单下过来,分配给哪个3PL?有什么要求吗?是怎么设计的?

保证履约系统稳定性方面有做过什么事情?

轨迹推送过程中的最终一致性如何保证?

任职期间单量从多少变化到了多少?

第三方OMS/ERP可以直接请求到3PL,为什么还要通过你们平台来做转发?


3、Prometheus了解多少?只做接口层面的监控吗?告警是怎么实现的?


4、下单链路中,从三方请求到你们,你们调用下游,再到下游调用3PL,整个流程是同步还是异步的?(例如,第三方下单请求,需不需要等待3PL给你们响应成功)

3PL物流公司系统挂了的话,你们这边OpenAPI给三方也是返回失败的吗?


5、数据库用的是MySQL吗,ADO 10w的单量是怎么存储的,有没有什么设计?

6、go里头函数参数传参,slice,map,string这些是值传递还是引用传递?

7、如果收到一个请求,里头有100个子任务,用go编码时直接创建100个协程并发处理,是否合适呢,会导致什么问题?

8、Interface类型,要转成原本的类型,怎么才能安全进行转换?

二面

1、自我介绍

2、挑一个重点项目,主要在技术层面的挑战、难点以及自己做的有亮点的,以及遇到的一些技术难题,是如何克服的?

3、刚提到的数据一致性通过事务保证,处理逻辑是在同一个节点上,同一个服务上去处理的吗?用事务在性能方面会不会有一些瓶颈?里头提到的乐观锁,你是怎么设计的?


4、从data service回写数据到DB,分发不同协程去并发处理,针对budget主表和category子表,是不同数据在一个协程里头写2张表,还是2张表用不同协程去写数据?

Channel的缓存大小当时定的多少,是怎么设计?

刚刚乐观锁的设计,除了你用的version字段,稍微发散一下,还有无其它的方式?

假设这些写操作是在不同节点上执行的,怎么去保证一致性?


5、有了解过三阶段提交吗?两阶段(2PC)有什么弊端?有没有听说过那个叫Paxos算法?围绕补偿事务这个机制,你能简单讲一下TCC吗?


6、MySQL用的多吗,有没有遇到什么实际问题,比如主持延迟、深度分页等?

7、慢查询你是如何优化的,针对这种情形,分几方面说说你的解决思路,例如SQL语句、表结构设计的优化?


8、目前表的数据量有多少?分表后,总数据量有多少?那你们现在拆成了主表+副表(扩展表)的结构,怎么去满足业务需求呢?

是会采用2个协程,并发去查数据,然后再组装给到前端那边吗?

分表后,每个子表的数据量现在有多少?采用一下join方法去联表,会不会有一些性能方面的影响呢?


9、MySQL的分表和分区有什么区别?什么情况采用分表,什么情况采用分区?两者可不可以结合起来使用呢,例如我先做分表,再去做分区?

在分区的情况下,我能不能在select语句里头指定查询条件,只查某个分区,去加快查询速度?


10、假设现在一张表里头,有id主键,有一个(a,b)的联合索引,你能不能说说这张表的底层数据结构是怎样的?

Where a = ? / a in (…),这个SQL查询语句,在底层的查询过程是怎样的,树的遍历是个什么顺序?

11、Offset 1000000 limit 10; 这种深度分页场景,底层的扫描过程是怎样的,有什么优化思路?

12、B+树如果有3层,大概支持的数据量是多少?查询会走几次IO?


13、假设说现在有一张大表,几千万的存量数据,在线添加索引或加字段的情况下,会出现什么情况,会锁数据还是锁表吗?(上行锁还是表锁?)

对写操作会阻塞,那读操作呢?假设现在主从同步已经完毕的情况下

那换个问法,假设现在有一张存量数据5000w的表,你要往里头去加一列字段,再加一个索引,应该怎么去操作呢?


14、有用过消息队列吗?基于MySQL和Redis,让你实现一个延时队列,在不考虑性能的情况下,你会怎么设计?那kafka为什么性能比较高,主要是那几方面的原理保证?


15、有了解过sync.RWMutex的底层原理吗

16、map为什么遍历是不保证有序的?有了解它底层的BMap和bucket的一些机制吗?

17、go的内存泄漏遇到过吗,大概会有哪些场景容易发生,怎么去避免?go的GC会自动关闭channel吗?

18、假设现在需要你快速上手一门新语言,或一门新的技术,你的学习路线大概会是什么样?

19、对新的工作有什么期待吗?

20、反问


“面经哥”已累计3000+条真实面试经验,期待你的加入~

9bfabe141406f5b7f4a9d8e5bc28202d.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大数据面试题】33 手写一个 Flink SQL 样例

一步一个脚印,一天一道大数据面试题 博主希望能够得到大家的点赞收,藏支持!非常感谢~ 点赞,收藏是情分,不点是本分。祝你身体健康,事事顺心! 我们来看看 Flink SQL大概流程和样例: …

基于双向长短时记忆网络的ECG心电信号识别(包括原始时域信号与时频域特征提取,MATLAB R2021B)

循环神经网络RNN,是一种链式结构,能够对连续输入的序列同时处理,且有不错的效果。RNN具有记忆功能且能够随时接受并处理输入数据,这得益于其特殊的连接方式,即神经元之间以一定的方向互相连接构成环,内部时…

如何使用宝塔面板搭建Tipask问答社区网站并发布公网远程访问

文章目录 前言1.Tipask网站搭建1.1 Tipask网站下载和安装1.2 Tipask网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置) 3. 公网访问测试4.结语 前…

摸鱼大数据——Hive表操作——复杂类型

1、hvie的SerDe机制 其中ROW FORMAT是语法关键字,DELIMITED和SERDE二选其一。本次我们主要学习DELIMITED关键字相关知识点 如果使用delimited: 表示底层默认使用的Serde类:LazySimpleSerDe类来处理数据。 如果使用serde:表示指定其他的Serde类来处理数据,支持用户自…

【python 进阶】 绘图

1. 将多个柱状绘制在一个图中 import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as pd# 创建示例数据 categories [A, B, C, D, E] values1 np.random.randint(1, 10, sizelen(categories)) values2 np.random.randint(1, 10, siz…

代码随想录35期Day53-Java

Day53题目 LeetCode.1143最长公共子序列 核心思想:这道题是我动态规划的启蒙题目,已经做了很多遍了,dp数组的变化方法是:相同则是左上角1, 不相同则是上和左中的最大值 class Solution {public int longestCommonSubsequence(String text1, String text2) {int[][] dp new …

前端Vue自定义轮播图组件的设计与实现

摘要 随着技术的发展,前端开发的复杂性日益增加。传统的整块应用开发方式在面对频繁的功能更新和修改时,往往导致整体逻辑的变动,从而增加了开发和维护的难度。为了应对这一挑战,组件化开发应运而生。本文将以Vue中的自定义轮播图…

GEE 利用增强的Sentinel-2像元物候特征精确提取水稻分布

题目:An enhanced pixel-based phenological feature for accurate paddy ricemapping with Sentinel-2 imagery in Google Earth Engine 期刊:ISPRS Journal of Photogrammetry and Remote Sensing(IF:14.9) 第一作者&#xff1a…

HiWoo Box工业4G网关

在飞速发展的工业4.0时代,数据已成为驱动工厂智能化、自动化的核心力量。而如何将这些散布在工厂各个角落的数据高效、安全地汇集起来,成为企业提升生产效率、降低运营成本的关键。今天,我们将为您介绍一款4G网关产品——HiWoo Box&#xff0…

揭秘SQL中的公用表表达式:数据查询的新宠儿

欢迎来到我的博客,代码的世界里,每一行都是一个故事 揭秘SQL中的公用表表达式:数据查询的新宠儿 前言公用表表述的概述非递归CTE的作用递归CTE的作用CTE性能优化 前言 你是否曾经为SQL查询的复杂性而困扰不已?尤其是那些读写层子…

服务器数据恢复—RAID5阵列崩溃如何恢复上层OA和oracle数据库的数据?

服务器数据恢复环境&故障: 某公司的一台服务器中的raid5磁盘阵列有两块磁盘先后掉线,服务器崩溃。故障服务器的操作系统为linux,操作系统部署了oa,数据库为oracle。oracle数据库已经不再对该oa系统提供后续支持,用…

图形学初识--矩阵和向量

文章目录 前言正文向量什么是向量?向量涉及哪些常见计算?1、取模2、归一化3、向量加法4、向量减法5、向量与标量乘6、向量点乘(内积)7、向量投影 向量有哪些基本应用? 矩阵什么是矩阵?矩阵涉及哪些常见计算…

数据库中的六大锁

目录 一、死锁 二、锁的区间划分 1、间隙锁(Gap Locks) 2、临键锁(Next-key Locks) 三、锁的粒度划分 1、表级锁(Table-level lock) 2、行级锁(Record Locks) 3、页级锁 四、…

一分钟教你学浪app视频怎么缓存

你是否在学浪app上苦苦寻找如何缓存视频的方法?你是否想快速、轻松地观看自己喜欢的视频内容?那么,让我们一起探索一分钟教你如何缓存学浪app视频的技巧吧! 学浪下载工具我已经打包好了,有需要的自己下载一下 学浪下…

【JavaScript】ECMAS6(ES6)新特性概览(二):解构赋值、扩展与收集、class类全面解析

🔥 个人主页:空白诗 🔥 热门专栏:【JavaScript】 文章目录 🌿 引言五、 Destructuring Assignment - 解构赋值,数据提取的艺术 🎨📌 数组解构📌 对象解构📌 特…

动态规划之单词拆分

这次分享一道关于动态规划的leetcode,单词拆分。 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。注意:不要求字典中出现的单词全部都使用,并且字典中的单词…

【技术】汉诺塔的递归问题解析及多语言实现

汉诺塔的递归问题解析及多语言实现 汉诺塔(Hanoi Tower)问题是一个非常经典的递归问题。它起源于一个古老的传说:有三个柱子和64个大小不一的金盘,开始时这些金盘按从小到大的顺序放在柱子A上,目标是在柱子B上按同样的…

Java——Java开发环境

一、JDK 1、什么是JDK JDK(Java Development Kit,Java 开发工具包)是用于开发 Java 应用程序的核心工具包。它包含了编写、编译、调试和运行 Java 程序所需的一切工具和库。JDK 是每个 Java 开发者必备的工具。 2、JDK 主要组件 JDK主要包…

HNU-计算机体系结构-实验3-缓存一致性

计算机体系结构 实验3 计科210X 甘晴void 202108010XXX 文章目录 计算机体系结构 实验31 实验目的2 实验过程2.0 预备知识2.0.1 多cache一致性算法——监听法2.0.1.1 MSI协议2.0.1.2 MESI协议2.0.1.3 本题讲解 2.0.2 多cache一致性算法——目录法2.0.2.1 有中心的目录法2.0.2…

A2B V2.0协议学习笔记(非正式版本)

一、说明 A2B全称是 Automotive Audio Bus 汽车音频总线,主要是解决传统音频总线线多、线重、成本贵等问题。 A2B V2.0总线相对V1.0主要变化点: 速率提升,高达98.304Mbps,全双工模式 编码方式,由之前的曼彻斯特编码变为QPSK(正交相移键控)编码,每个符合2bit数据,因此…