早安科技
一面:
1、自我介绍。
2、http cookies 和session,以及cookies是如何存储到浏览器的?说在response的header里有有个set-cookies字段,告知浏览器,存储cookies。
3、redis的五种数据结构,以及自己有没有实际使用过某种,我举了string 和 List,顺带撤了hash.
4、redis内存满了怎么办,我说都设了expire time。
5、mysql索引有哪些以及索引 why fast?我说hash索引。
6、结果,他又问我怎么实现的,我又扯出来了B树。
7、ngxin的负载均衡,一开始谈到了master-worker模型,面试官不太满意,说和具体的逻辑业务关系?幡然醒悟,就是多加几个 backend server 以及负载均衡算法
8、对websocket是否了解?
9、快排描述。
10、算法题:给定一个链表如何判断一个有环?具体做法就是用两个pointer,一个快,一个慢,判断两个pointer 是否重合。
11、go的goroutine ,如何停止一个goroutine?(我觉得面试官的意思是如何控制goroutine的退出,可以用channel和Context)
12、goroutine泄露,或是内存泄漏。
13、go 里的slice 和array 的区别,(slice的底层就是array,但是slice可以动态扩容,另外还有两个属性,len和cap)
二面:
1、自我介绍。
2、python里的装饰器,原理(闭包),用法。
3、除了nginx的负载均衡以外的负载均衡用法,没太懂面试管的意思,他说在nginx之前或之后都可以load balance,我本来想说getway来着,最后也没说出口。
4、redis的使用,我说了用List做task queue。
5、线程切换。
6、说了这个项目部署发布的过程以及我的遇到的痛点。
7、项目里的websocket的用法,假如是异常关闭怎么办,我说后端对正常和异常关闭的连接一视同仁,我只能keep listening.
8、mongodb用过没有,我说mysql用的比较深,结果就问了inner join 和 join 区别,没答出来。
9、https的建立过程。
10、http2了解吗?(并行)
11、go defer 的执行顺序。
12、go interface.
13、如果流量激增,如何应对,我说我做了很多cache,加上nginx应该能应对大部分情况。
14、给定一个长度为n的数组,让求第K大的数,我说用维护最小堆,以及最小堆如何维护的。
三面:
1、项目经历,哪个部分让我提高了能力以及遇到的问题?
2、为什么会从上一个实习“离职”?
3、mysql里用到的优化。
4、怎么用的redis的?
5、websocket的那个项目,如何listen close的?
6、项目语言占比?
7、手撕代码:给定一个数字,求是否是回文数?
HR面:
1、毕设情况。
2、平常遇到问题,都是通过什么途径解决的?
3、关于他们的产品。
全部评论
(5) 回帖