字节data数据平台——后端开发一二三面(许愿offer)
普通双非一本在线求一份暑假实习
更新3.22 hr面
问成绩,问考不考研,为什么考研,问项目带来了哪些成长,什么时候能去实习
许愿offer
日历
3.7:笔试
3.11:收到面试邀请
3.14: 一二面
3.16:三面
刚刚开始面试,不太清楚录音应该怎么用,因此大部分内容已经忘记了
算法题
一面:
- 剑指 Offer 24. 反转链表 (他问我有几种实现方式,我说了迭代和递归,两种都让我写了一遍)
- 1047. 删除字符串中的所有相邻重复项
- 剑指 Offer 55 - I. 二叉树的深度 (同一题,写出迭代和递归两种方式)
二面:
- 如何设计数据库(包含课程、老师、学生),并且写出sql求指定学生的选好的课程
- 设计一个固定大小的队列
三面:
- 将一个long型的阿拉伯数字打印成中文形式(0 <= n <= 10^12)
一面(50min)
一面大多数不记得了,问的比较宽,面试官人也很好,面起来蛮舒服的。
- hashmap的put流程
- Redis有什么数据结构
- MySQL有哪些隔离级别
- 你了解的限流策略有哪些?限流是在客户端还是服务端?如果要对客户端限流应该怎么做?
...
二面(1h10min)
一面不太记得的主要原因,还是因为在二面,深度撕我的项目(一个小时十分钟,大概撕项目撕了半小时?)。而且问我技术栈也是问的十分深入
- 讲一讲你项目你觉得做的好的地方
- 为什么要使用zookeeper
- 你的商城项目高并发情景有没有考虑?
- 你是怎么做到限流的?
- 你项目的亮点呢?
... 然后就是一堆项目相关的问题了,我的录音出了问题大概只记得各种场景下我的策略到底有没有问题?我和他说是我独立完成的,他问我有没有先参考业界已有方案?为什么不参考?说你项目中你认为的亮点可能还不如一些普通的方案,应该好好斟酌技术。
因为一开始项目挖的坑,面试官就一直在问我,为什么要使用哪些技术。例如: - 你了解IOC吗?你知道为什么要用IOC吗?控制反转到底反转了什么,控制了什么?IOC比用new、工厂模式到底好在哪?
- 你了解哪些限流策略?他们解决什么问题?
- 你了解NIO吗?为什么要用NIO?这么说吧,NIO比起BIO到底给系统带来了哪些好处?能不能结合内核来讲讲?AIO呢?
- 你了解HTTPS吗?你知道为什么要用HTTPS吗?HTTPS使用了哪些加密策略,为什么要使用这些策略?为什么我要用非对称加密、对称加密?为什么要使用数字证书
...二面总结
二面是值得我好好总结的,面试官评价我学习的时候应该好好扩展,好好斟酌,技术选型不是那么简单的事。而且,学技术不要只关注底层怎么实现(因为我答着答着就变成怎么实现去了),更加应该考虑我选用这么技术到底能给系统带来哪些实际上的好处。二面答完我人都懵了,躺下来啥都不想做。
其实从一开始我的亮点被否定开始我的心态有点炸裂的,但是讲到后面我只剩敬佩了。哪些我没有考虑到的盲区都给我指了出来。整体我是觉得答得还不错,除了IOC那块。然后第二天中午接到三面通知
三面(40min)
- 项目为什么用netty?
- 我看你的项目中还有聊天室功能?你是基于什么考虑去做的
- 然后随便聊了点项目开始做题。好像做了20分钟?最后写出来但是有bug,面试官也没让我往下写,让我讲讲思路。然后问我有没有什么要问的,我说前两面问的差不多了就结束了。
总结
相比于前两面,第三面我是觉得挺简单。然而那道模拟题没做出来有点炸裂。感觉有点凉,但还是求个offer叭!