9.23一面(1h)
常规环节(20min):
- 自我介绍
- 详细聊聊实习
- 为什么想转GO(Javaer)
- Go和Java的特点和区别
八股(25min):
- MySQL事务隔离级别
- MySQL可重复读和读已提交怎么实现
- 为什么不直接通过MAC地址通信而采取IP地址
- 栈和队列的区别
- 优先队列(放入取出怎么调整堆,怎么找到父子节点,什么数据结构实现)
- 进程、线程、协程的区别
- linux查看端口占用
- linux杀掉进程的过程
做题(15min):
- 最大子序和 lc原题 做完分析一下时间复杂度和空间复杂度,并优化一下
- 用go实现一下协程交替打印
一面当场口头通过了,面评挺不错。
9.29二面(70min)
常规环节(25min):
- 自我介绍
- 深挖实习(挖到实习项目中每一个细节的实现,聊了特别特别久,不停地在提问,从架构到具体的实现思想都挖得很透彻)
- 为什么转Go
- 聊聊对Go的理解
八股(30min):
- MySQL索引相关(数据结构、索引失效、索引种类、执行计划)
- MySQL什么场景下需要用到事务
- MySQL事务隔离级别
- MySQL可重复读和读已提交怎么实现
- MySQL锁
- Redis数据结构(浅问了一下跳表)
- Redis定时删除和惰性删除
- Redis内存淘汰策略
- Java类加载过程
- SpringIOC和AOP的原理以及Bean生命周期
- RabbitMQ怎么保证消息可靠性(直说自己了解得不深)
- Docker
- TCP和UDP的区别
- TCP拥塞算法
- https非对称加密过程
- go的channel有无缓冲区的区别
做题(15min):
- go实现一下协程交替打印(先让我讲思路,讲完问我是不是做过了,我就说一面做过,于是换了个题)
- 最长不重复子串(原本是最长回文子串,后来换题了,面试官让我尽量用go写,时间长点没关系,写了大概10min出了点bug,他就让我用Java。因为用go写不出来,整个人心态就有点不行,思路有点问题,Java写出来以后测试用例过了,但是有反例,最终debug出来了)
面试官反馈说实习和基础都十分满意,但是对于一个go语言岗位来说我对go的准备还是太少了,而且算法题也有点磕磕碰碰,今年竞争那么大,基本上没法通过(暗示挂了。。)
只能说自己在心态和算法上都很差。。挂得情有可原,后续继续加强吧。
#深信服##Java##校招##秋招##面经#