9月3日好未来后端面经
9月3日好未来后端面经
一面
- 自我介绍
- 在滴滴实习负责什么
我负责一个老系统的重构,问了一下业务方面的问题 - 重构中有什么问题,你是怎么解决的
- 重构中mysql查询慢是什么原因,你是怎么解决的,怎么排查查询慢的问题
left join了四张表,我不敢改逻辑,只能起协程分步骤去查;
排查查询慢:看走没走索引,like模糊查询不要%like; - go自己的学习路径
- http,https,服务器怎么到ca机构去注册自己,公钥,私钥相关
- ajax跨域请求被拒绝怎么办
Access-Control-Allow-Origin:* 添加请求头允许跨域请求 - 公司中怎么和前端,业务合作沟通
- 手撕:go作为客户端,请求两个url中的数据,比较两个响应中的数据
我说我不会用原生http获取相应中的body,说可以出点力扣题,他说算了,笔试看你写挺好的就不写了 - 反问
二面
- 自我介绍
- 讲一下滴滴实习的东西,基本和一面一样
- 公司中拆分成微服务各个模块怎么相互调用
rpc - 项目中用过什么组件存储数据
mysql、ES、redis、本地缓存 - 日志收集的项目架构相比ELK架构做了哪些改进
- etcd在你项目中的作用
- 有没有了解过其他日志收集的成熟工具,类似于filebeat
我说我这个就是模仿filebeat做的,面试官问那你这个有没有实现filebeat可以监控一个文件夹下所有的日志文件,我说没有,会考虑改进 - 如果收集日志的时候服务挂了,再重启怎么做到从上次挂掉的位置继续收集
记录offset偏移量 - 工作中遇到过起多个协程,怎么控制他们的退出
channel通知,select监控,ctx中Done退出,waitGroup等待 - 手撕:说到waitGroup就写一个两个协程交替打印数字和字母吧 1A2B3C这种
- 你认为c++、java、go的区别和优缺点分别是什么
- 反问
三面
hr面的标准问题,等通知中