面试复盘|蔚来连续三面 提前批面试复盘
当时是蔚来第二批周六连续的三面
时间是7.17
一面
- 项目经历相关聊了10几分钟
项目是一个IM即时通讯系统,聊了群聊,私聊等的流程.使用的Kafka和Redis的作用等等 - 策略模式(简历上写的)
- 两个队列实现一个栈,口述
- 判断链表是否有环,口述
- 写题-剑指 Offer 61. 扑克牌中的顺子
当时忘了怎么做了,跟面试官边讨论边写,磨叽了20多分钟.
如果遇到题不会写,一定不要放弃,尽可能地跟面试官讨论,或者让他给点提示什么的
二面 (一面结束后20分钟)
- 项目中用到的netty框架的实现(异步,设计模式,架构等等)
- 项目相关的细节
- Kafka如何保证消息有序性
- redis的数据结构
- 断线重连的设计
- 如何在应用层确保消息的发送成功
- SpringCloud了解过吗?有哪些组件(这个不会)
- 心跳机制的设计
- 垃圾回收的过程
- 内存泄漏是什么
- 如何避免内存溢出
- 如何排查内存泄漏
- 学校中遇到的困难,如何解决
- 接触过非关系数据库吗? (我寻思redis不算吗?后面随便说了过mogodb的使用)
- 反问-技术栈,部门等等
三面(等到下午5点才开始)
- netty的异步模型
- BIO和NIO的区别
- netty解决粘包,拆包问题
- netty的直接内存和堆内存
- netty编解码器的api,从字节流转换成buffer的操作过程
- 智力题:50个蓝球,50个红球,放到两个罐子,如何放才能使得从两个罐子中取出一个红球的概率最大
(一个罐子放一个红球,剩下全放在另一个罐子) - 在线网站画类图,场景就是聊天场景. 有多种消息,比如文本,图片,视频,音频,emoj表情. 如何设计类的抽象和继承组合关系.
(这个没怎么遇到过,搞了很久,最后在引导下画了个差不多的交给他了)
一个月后8.23意向书
面试感受
一二面基本都是项目要问10几分钟,然后问些基础,再写道题目,不怎么难.
但三面形式就比较新颖,没怎么遇到过,当时是有点慌的,一度想放弃了. 但好在以前有经验,记住一定要先考虑做出来,再去考虑做的好不好. 无论会不会, 都要把自己会做的说出来,写出来.
讨论交流
汇总一些答得不太好的地方
- netty的整体架构,比如它的线程模型,使用的设计模式等
- SpingCloud相关知识了解的不多,比如它的常用组件,服务治理组件的选举机制啥的
- netty编解码器字节流转换成buffer的代码细节当时答得不好,记不清楚了
- netty的直接内存和堆内存,哪些地方使用直接内存,哪些地方使用堆内存