米哈游后端开发一面
项目和实习(10min)
- 介绍下大华实习的时候主要做了哪些工作,websocket码流分离是怎么实现的?
- 在哈啰实习了一年?解释了一下,然后没再问了
- 介绍下分布式linux性能监控的项目,先问我这个项目是不是自己做的,就所有代码都是自己写的还是说抄的别人的,会影响他提问的一个深度,然后我就说自己做的
- dockerfile文件中的add和run这两个命令有什么区别,分别是什么作用,真不会
- monitor监控的数据主要是有哪些
八股拷打(30min)
- 问我知道有哪些锁?答互斥锁、自旋锁
- 问我知不知道什么是CAS,是悲观锁还是乐观锁?我猜它是分布式锁,然后说如果是分布式锁的话是悲观锁,结果不是...
- 然后就过了,开始问我计算机网络了,http和https之间的区别是s,那么具体体现在哪?我直接把TLS握手的过程全说了一遍,应该要问的是https解决了http的哪些问题
- 然后又问tcp的keepalive了解把,它的作用是什么?我又把原理全说了一遍,然后面试官又问我作用是什么?我说增加连接的存在时间
- 操作系统开始,问内核态和用户态有什么区别?我答主要区别在系统调用,知道什么是系统调用吗?什么情况下会系统调用?内核态和用户态有什么区别?什么情况下会出现用户态到内核态的切换?
- 线程和进程的区别是什么?具体切换的时候什么资源被切换了?多线程有什么优缺点?多进程呢?瞎扯了
- sql,给了个sql的语句, select a,b,c,d from table where a=1 and b=2 order by c desc; 问我如果要加索引的话要加什么索引?为什么加这种索引?我答a,b的联合索引,然后就问我a,b,c的联合索引行不行?a,b,c,d的联合索引行不行?
- 最后开始问tcp的一个问题,问我知不知道tcp的连接池,如果一个连接已经建立了,但是中途客户端那边断开了,但是连接池中的time_out时间还没有到,这个时候如果客户端再次发送报文是会发生什么?我说服务端会发送rst报文请求重新建立连接,继续使用当前连接,又问我具体什么时候回重新建立连接?我答客户端再次发送数据的时候
手撕+反问(10min)
就是一个LRU,不知道哪里复制来的,让我先看一下题目有没有问题,然后看完之后想好自己的实现思路,跟他说一遍然后再开始写,不用完全实现,只需要实现一个构造函数和移动节点到头结点的操作函数写完就好,面试前刚写一遍,秒了
我反问,通常的业务、技术栈的问题