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

news2024/11/16 18:42:03

一面

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.coloradmin.cn/o/1712357.html

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

相关文章

组建RAID后安装系统时发现无法识别硬盘!

计算环境中,RAID(独立磁盘冗余阵列)是一种广泛采用的数据存储技术,它通过组合多个物理硬盘来提升数据读写速度、增加存储容量或提供数据冗余以确保数据安全。然而,用户在使用SAS或SATA RAID阵列卡组建RAID后,可能会遇到在安装操作系统过程中硬盘无法被系统识别的问题。接…

[C#]使用C#部署yolov8的obb旋转框检测tensorrt模型

【测试通过环境】 win10 x64 vs2019 cuda11.7cudnn8.8.0 TensorRT-8.6.1.6 opencvsharp4.9.0 .NET Framework4.7.2 NVIDIA GeForce RTX 2070 Super 版本和上述环境版本不一样的需要重新编译TensorRtExtern.dll,TensorRtExtern源码地址:TensorRT-CShar…

DL/ML/RL/TL/FL机器学习框架总结

前言 本文总结了DL/深度学习、ML/机器学习、DML/分布式机器学习、AutoML/自动化机器学习、RL/强化学习、MLaaS/机器学习及服务、SR/语音识别领域的机器学习框架,可作为学习、研究、研发的参考资料。 1.DL/深度学习框架 PyTorch PyTorch是一个开源的Python机器学…

【SQL学习进阶】从入门到高级应用(三)

文章目录 ✨条件查询✨条件查询语法格式✨等于、不等于✨等于 ✨不等于 <> 或 ! ✨大于、大于等于、小于、小于等于✨大于 >✨大于等于 >✨小于 <✨小于等于 < ✨and✨or✨and和or的优先级问题✨between...and... &#x1f308;你好呀&#xff01;我是 山顶风…

【吊打面试官系列】Java高并发篇 - 死锁的原因?

大家好&#xff0c;我是锋哥。今天分享关于 【死锁的原因&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 死锁的原因&#xff1f; 1、是多个线程涉及到多个锁&#xff0c;这些锁存在着交叉&#xff0c;所以可能会导致了一个锁依赖 的闭环。 例如&#xff1a; …

Percona Toolkit 神器全攻略(实用类)

Percona Toolkit 神器全攻略&#xff08;实用类&#xff09; Percona Toolkit 神器全攻略系列共八篇&#xff0c;前文回顾&#xff1a; 前文回顾Percona Toolkit 神器全攻略 全文约定&#xff1a;$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中&#xff0c;…

[排序算法]4. 图解堆排序及其代码实现

先来看看什么是堆? 堆是一种图的树形结构&#xff0c;被用于实现“优先队列”&#xff08;priority queues&#xff09; 注:优先队列是一种数据结构&#xff0c;可以自由添加数据&#xff0c;但取出数据时要从最小值开始按顺序取出。 在堆的树形结构中&#xff0c…

21张让你代码能力突飞猛进Python速查表(神经网络、线性代数、可视化等)(有中文版)

随着深度学习的蓬勃发展&#xff0c;越来越多的小伙伴们开始使用python作为主打代码&#xff0c;python有着种类繁多的第三方库&#xff0c;这里为大家从网络上收集了一些代码速查表&#xff0c;希望可以帮你在码代码时提速。 基础 神经网络 线性代数 Python资料 可以去VX公…

127.0.0.1 和 localhost 以及 0.0.0.0 区别

之前用 nginx 的时候&#xff0c;发现用这几个 IP&#xff0c;都能正常访问到 nginx 的欢迎网页。一度认为这几个 IP 都是一样的。 但本质上还是有些区别的。 首先 localhost 就不叫 IP&#xff0c;它是一个域名&#xff0c;就跟 "baidu.com",是一个形式的东西&…

【最优化方法】实验三 无约束最优化方法的MATLAB实现

实验的目的和要求&#xff1a;通过本次实验使学生进一步熟悉掌握使用MATLAB软件&#xff0c;并能利用该软件进行无约束最优化方法的计算。 实验内容&#xff1a; &#xff11;、最速下降法的MATLAB实现 &#xff12;、牛顿法的MATLAB实现 &#xff13;、共轭梯度法的MATLAB…

汉思新材料HS716R绝缘固晶胶产品详解

汉思新材料&#xff0c;深耕半导体芯片胶水研发与生产领域17载&#xff0c;现隆重推出HS716R绝缘固晶胶&#xff0c;专为芯片晶片固晶粘接设计&#xff0c;提供卓越性能的绝缘粘接方案。 一、产品概览 HS716R绝缘固晶胶&#xff0c;是一款单组分改性环氧树脂胶粘剂。其独特的中…

gitlab之docker-compose汉化离线安装

目录 概述离线资源docker-compose结束 概述 gitlab可以去 hub 上拉取最新版本&#xff0c;在此我选择汉化 gitlab &#xff0c;版本 11.x 离线资源 想自制离线安装镜像&#xff0c;请稳步参考 docker镜像的导入导出 &#xff0c;无兴趣的直接使用在此提供离线资源 百度网盘(链…

Java特性之设计模式【备忘录模式】

一、备忘录模式 概述 备忘录模式&#xff08;Memento Pattern&#xff09;保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对象&#xff0c;备忘录模式属于行为型模式 备忘录模式允许在不破坏封装性的前提下&#xff0c;捕获和恢复对象的内部状态 主要解决&#xff…

私人健身与教练预约|基于SprinBoot+vue的私人健身与教练预约管理系统(源码+数据库+文档)

私人健身与教练预约管理系统 目录 基于SprinBootvue的私人健身与教练预约管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2后台功能模块 5.2.1管理员功能 5.2.2用户功能 5.2.3教练功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算…

腾讯社招测试岗有点奇葩的面试,被问抽奖程序的测试用例设计

今天腾讯网上预约社会招聘&#xff0c;我是前天才看到这条消息&#xff0c;前天投了简历&#xff0c;还叫别人内推了我一把&#xff0c;但是悲剧的我把简历上的号码写成了原来在北京的号码&#xff0c;所以我也不知道是别人觉得我简历不合适还是因为联系不上我所以没有邀请我参…

Python的解析网页

课前案例 通过requests模块爬取指定网站中的图片并保存到本地目录中。 上述案例采用的是同步方式下载图片&#xff0c;效率太低。异步方式如下&#xff08;线程&#xff09;&#xff1a; # target为目标函数&#xff1b;args中传入的是download函数的参数url threading.Threa…

【iOS】——工厂设计模式

文章目录 一、设计模式创建型模式结构型模式行为型模式 二、设计模式七大准则三、简单工厂模式四、工厂方法模式五、抽象工厂模式 一、设计模式 设计模式是指在特定上下文中解决常见问题时所采用的一套可复用的解决方案。这些模式是面向对象编程中的通用概念&#xff0c;广泛应…

Spring学习⑤__Spring AOP的高级应用

Spring AOP的应用配置 Spring中的事务管理 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言&#xff08;如SQL&#xff0c;C或Java&#xff09;书写的用户 程序的执行所引起&#xff0c;并用形如begi…

ABB工业机器人伺服驱动器维修

ABB机器人驱动器是机器人的核心部件&#xff0c;负责驱动机器人的关节进行各种动作。因此&#xff0c;对ABB工业机械手驱动器维修和维护至关重要。 一、ABB机械臂驱动器故障诊断 在ABB工业机器人驱动器维修之前&#xff0c;首先需要准确诊断故障。以下是一些常见的故障诊断方法…

多线程新手村3--多线程代码案例

1.1 单例模式 单例模式是设计模式中非常经典的一种。那么有同学肯定就会好奇了&#xff0c;什么是设计模式呢&#xff1f; 设计模式简单的说就是程序员的“棋谱”&#xff0c;我们下象棋时肯定或多或少都背过棋谱&#xff0c;例如当头炮、马后炮等&#xff0c;设计模式也是这…