整场面试持续了约1h
自我介绍结束以后简要问了一下之前的实习、项目、离职原因。
基础知识考查:
1. 浏览器寻址url过程?
2. arp表的作用?arp的分组格式?对于主机不存在的apr请求会发生什么?
3. DNS的作用?DNS的解析流程?
4. 下一跳路由转发数据包的过程?
5. go GMP模型是什么?线程与协程的区别?协程调度过程?P、M的数量问题?
6. 协程切换的时机?
7. channel的底层结构?接收、发送消息的过程?
8. sema锁是什么?mutex源码中的结构有看过吗?
9. 正常模式和饥饿模式?
......
场景题考查:
......(脱敏)
Coding:
1. 实现一个跳表(lc原题 困难);
2. 写一个unit test跑一下上一题的代码(重点在规范和case设计上)。
Review:
个人感觉这轮面试是目前为止本人近百次面试中难度偏大的一轮面试。对于每个基础知识点基本上是展开到回答不上来/出现错误的情况下才结束。准备的项目和之前的经验和面试的业务匹配不高,也被面试官基本略过。coding环节要求代码熟练度比较高。
#面经#