扬腾创新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…

前端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、向量投影 向量有哪些基本应用? 矩阵什么是矩阵?矩阵涉及哪些常见计算…

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

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

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

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

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数据,因此…

随手记:多行文本域存数据有换行,回显数据换行展示

1.在新增的时候存储数据 <el-input type"textarea"v-model"XXXX"></el-input> 2.详情页返回的数据&#xff1a; replace一顿操作确实复杂 最快的方法直接写个样式:style"white-space: pre-line" 即可行内或者class样式都可以 …

秋招突击——算法打卡——5/28——复习{Z字形变换、两数之和}——新做:{整数反转、字符串转整数}

文章目录 复习Z字形变换实现代码参考代码 两数之和复习代码 新作整数反转个人实现实现代码 参考做法字符串转换整数个人解法 分析总结 复习 Z字形变换 实现代码 这里使用了他的思想&#xff0c;但是没有用他的代码&#xff0c;虽然已经比上次简洁了&#xff0c;但是还是不够&…

【日记】终于鼓起勇气买了吹风机!(356 字)

正文 好忙。今天比昨天还要忙&#xff0c;水都没喝几口。嗯&#xff0c;好像只喝了两口。 今天补了一份印鉴卡&#xff0c;销了一个户&#xff0c;变了一个户&#xff0c;弄了一大堆资料找人签字&#xff0c;还顺带要解决一个押品的历史遗留问题。 中午睡得好香&#xff0c;都不…

如何理解和使用 this 关键字

this 关键字是许多编程语言中的一个核心概念&#xff0c;在面向对象编程&#xff08;OOP&#xff09;中尤为重要。在JavaScript、Java、C、C#等语言中&#xff0c;this 扮演着至关重要的角色。理解 this 的意义和用法&#xff0c;对于编写清晰、有效的代码至关重要。 什么是th…