前序
Hello,大家好~ 由于新冠状病毒的原因、现场面试全部改为视频面试。下面来分享下疫情期间的一些面试经验和反思哦。
中序
switch "company" {
case "某未来":
process:=` 1-2面 -120分钟
1. mysql .索引相关.select * from table where id=1 或 where a=1 数据是怎么查出来的。(id 主键 a是普通索引或者a 无索引)
2. update set a=1 from table where a=2 会加锁吗。怎么加的。会锁表吗 。
3. redolog undolog binlog 的作用。
4. mysql主从怎么实现的
5. go 调度模型。发生网络io,会怎么调度。发生阻塞的IO会怎么调度。epoll详解
6. go gc 相关问题
7. go channel 的实现原理。
8. 实现一个并发模型。生产者消费者 (在线写)
9. 既然你提到了gearman.有其他的队列可以替代吗?比如哪些?可以举例吗?
10. redis 的删除策略。定时 定期 惰性 lru(要写)
11. redis 各类型的底层数据结构讲讲~
12. etcd 怎么保持一致性的? 脑裂怎么解决的?
13. 你对分布式怎么看?可以举个例子吗?
14. 线上突然大量502.怎么排查?
15. 架构设计-微信朋友圈
16. 线上熔断降级怎么做的
17. 描述 APP push推送架构设计
18. 既然你说XX奖励系统模型 不合理。如果让你重新设计。你会怎么设计?
19. 讲一下open-falcon的架构设计吧。metrics 采集标准?
20. 为什么你们把php换成go ?优点是什么?为什么单机 go 的吞吐比php 高?原因是?
21. 举几个例子 说明下 你对代码做优化的地方?提升的原因是什么?
22. 你怎么评估重构业务。重构的标准是什么?怎么灰度切换?
24. 你对自己未来的规划是怎么样子的?
3面 - 60分钟
1. C++了解吗?
2. 虚拟地址和位地址怎么映射?
3. C++段错误是什么情况引起的?
4. Go runtime 了解吗?讲一下调度。发生文件IO的时候 G 怎么调度的?
5. 有10亿用户,让你设计一个社区架构。包括点赞 发帖 删帖 的积分架构、期间一直在追问设计合不合理。不断的优化~
6. 给你1亿个URL 。爬取信息。会遇到什么问题?从 CPU 磁盘 网络 等方面。这个聊了很多case
7. 平常喜欢看什么书?想往管理层走 还是技术路线。
`
suggest:=`
该公司在线教育龙头,团队氛围很棒。核心团队主要由360、滴滴、swoole系组成。
`
case "某度":
process:=` 1-3 面 总计3小时
1. 设计一个抢红包的系统架构、如何保证每个人抢到、讨论了半天、如何抗住流量?
2. mysql 隔离级别、mvvc 索引种类和区别、gap、innodb、
3. 给你一字符串、abcabc 找出最长出现偶数次的字符串
4. 业务场景上、mysql redis 怎么达到分布式一致性
5. 设计一个直播系统、包含送礼、长连接、推送、实效性、等 (在线画架构图)
6. 公司负责业务的职责
1. 手写前缀树
2. 设计一个缓存系统
3. leetcode AB数组升序 中间数
4. Go runtime讲解- 网上文章很多。不想听网上的文章。有没有独到的见解
5. 讲解open-falcon架构设计
6. 讲解jaeger 全链路原理、 traceid 的生成规则
7. etcd源码分析
大概就记住这些、其他忘记了、
`
case "某滴":
process:=`1面 100分钟
1. 在线画推送系统架构-期间会不断地问问题。
2. redis 为什么是单线程? 一直聊得很深。讲到epoll 底层 和两种模式。 红黑树
3. HTTP FTP区别、迅雷传输文件的协议格式,为什么用udp?
4. ping ip 这一过程发生了什么?
5. 如果让你负责一个项目。你怎么保证项目高效稳定零BUG?
6. 打开一个socket 发生了什么?怎么写一个socket服务器?
7. http 状态码 你知道哪些?
8. 长连接写过吗? 你们全都用的rpc 请求吗?讲一下grpc 和ws
9. 在线写算法、获取一个二叉树的最小深度。
10. 分布式事务?
2面 没记
3面 60分钟
1.给你一个10PB文件 3000台机器。如何做字典树排序?
2.一直在聊各个公司所做的项目架构
`
case "某巴巴":
process:=`
1. int int64的区别、 占多少位、慢慢分析。
2. go 逃逸分析
3. go gc 三色标记-黑白灰
4. 反射了解吗 —主要做序列化、反序列化、GORM、yaml/ini 等文件解析 —设备信息存储的是json格式的数据。接收按照interface来
reflect.TypeOf(app).String() 来处理的。传输不一致
reflect.TypeOf(regId).String() == "map[string]interface {}”
1. im 了解吗? 核心是什么?我是谁 我在那??
2. go map 底层源码了解吗?
3. redis list set 区别。什么场景使用
4. 写代码~ 用 map 设计一个 set集合。支持增删改查
5. []byte{} string 的区别
6. rocketmq 底层原理
`
}
后序
建议大家在业余时间,要及时的积累知识点,巩固底层源码和自己做的项目架构哦~。这样无论是在任何时刻,都能保持良好的求职状态。居安思危ing~
祝大家都能找到心满意足的工作
附件模板
我平时知识点巩固的模板分享给大家~
左侧是线索cues 记录大的模块概念,右侧是我们自己的一些小心地和笔记
最下面是对 整体知识板块的总结~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。