今天是我很心仪的一家公司的三面了,依然用的腾讯会议,不过这次面试官也有开视频,感觉上终于不用对着空气讲话了。
前两次的面试官问的问题有点少,可能是时间比较紧(都约定的晚上),这次约的下午,可能时间比较充裕,聊的天时间比较长。
- 有哪些项目感觉做得比较好的可以分享一下吗?
讲了最近实现的统计用户游戏时长,用到了一些redis操作和项目的设计思想。
- redis有哪些数据结构?hash的实现是怎么样的?为什么要那样实现?
- 刚刚说的项目只是个功能而已吧,你有没有遇到什么挑战难度高一些的项目?
讲了之前一手搭建的prometheus监控系统。
- 这个监控系统有解决什么问题吗?
讲了最近监控到的东西和自己最近有个项目排错的过程。
- 还做过其他的什么吗?
做过游戏相关的一些模块,类似游戏存档,对游戏数据的一些存储和一切皆内存操作的思想。
- 算法题有了解吗,如果我有两千万个新冠患者,要挑出最大的年龄患者这么办?挑出年龄排在中间的呢?
桶排序+记录每个桶的用户数。
- 如果我有一个鸡蛋,硬度是1~100,从1~100楼往下丢,哪一楼碎了,硬度就是几,怎么测试比较好?如果我有两个呢?
这个问题没看过,想了一下关于时间复杂度的东西去想,还答对了。
- 平时开发语言是什么,go的协程是怎么实现的。
- 你刚刚说了上下文切换,那go的上下文切换和线程的上下文切换分别是怎么样的?有什么区别。
我只知道go的,就只回答了go的。
- 网络编程有了解吗?三次握手的最后一次丢了会怎么办?
- 操作系统内存有了解吗?内存管理是怎么样子的?
- 在公司中,你的技术水平是最好的吗?
- 为什么想要来到我们公司?
- 可以分享一下你最近学到的知识吗?
- 最后做一道算法题。
/*
编写一个函数以生成n个小括号,和m个大括号,要求输出格式正确的括号的所有组合。例如,
给定n = 1,m=1
输出为 ({}) ,(){}, {}(), {()}
给定n = 2,m=1
输出为{}()(), {()}(),{()()}, ({})(),(){}(),(){()}, ()({}), ()(){},{}(()),{(())},({}()),({()}),(({})),((){}),(()){}
*/
这个面试官没有催我,我就慢慢做,结果是做出来了,但是过程中有些bug没找到,用了耗费资源的方式去弥补。
网友评论