然后说开始面试流程:笔试➕面试。
一、笔试
1、算法题:三数之和(leetcode第15题)
写了10来分钟,自己构造输入
2、用了Arrays.sort(),问我了解这个方法嘛,说说排序,时间复杂度多少,你写这道题的时间复杂度又是多少
3、智力题:你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费?
二、实习或项目(中间也穿插了很多基础知识)
1、介绍一个项目或实习的一个难点或收获最大的点,一顿巴拉巴拉讲了用火焰图调优了一下,调优的过程,用到了哪些命令(go tool pproft 的top、list、web,内存图和cpu图)
2、讲了一下服务的结构,用到了mq和clickhouse,怎么用的?为什么要这样用?好处?
3、说说mq堆积了应该怎么处理。
4、问mysql的索引,什么结构(答:b+树),然后问和b树的区别。
5、唯一索引和主键索引的区别
6、联合索引abc,查ac能不能命中
7、sql怎么优化?(我叫面试官给我个场景哈哈),他说sql慢查询
7、由于实习写go,问你了解go么,说一下,介绍了一下GMP模型
9、go的协程了解么,说说进程、线程和协程的区别吧,进程的通信方式呢
10、go的协程是怎么通信的(答:通道,面试官不是很满意hh)
11、redis了解么,说说redis有什么结构,介绍一下zset,它可以用了做什么
12、说说三次握手,两次会怎么样
13、tcp和udp的区别
14、说说http吧,什么个流程?报500怎么排查?报502呢
三、反问
1、部门主要是做什么的
2、探讨了一下java和go的区别
3、问问go单测的问题
总结:
很久没面试了,有些生疏,慢慢的找回状态,多补补基础知识,加油!!💪
全部评论
(4) 回帖