经过两个月的辛苦奋战,最终拿到了网易、头条、字节、菜鸟的offer,感觉面试的时候还是很幸运的,很多题都是我之前刷题刷到过的,哈哈哈~~下面给广大网友们分享一下我的面经(网易/美团/菜鸟)供大家参考参考...
01 网易有道(Java研发工程师)
一面(40分钟)
- 常用的数据结构
- 各种链表之间的区别
- 算法:链表归并排序。递归写法和非递归写法两种
- 归并排序的难点
- 数据库 索引 什么时候不适合用
二面(80分钟)
- 算法:实现根号2,保留10位小数
- 算法:实现一致性hash
- 一致性hash底层用的什么数据结构
- 介绍项目
- HTTP协议1.0、1.1、2.0的区别
- HTTPS协议双方确认传输密钥过程
- 场景:select name, age from user的数据库查询过程,以及怎么优化,有索引以及无索引时
- update age from user无索引是行锁还是表锁,为什么
- mvcc隔离级别怎么防止幻读
- 主从同步过程,binlog两种类型的区别
- 场景:用数据库实现分布式数据库唯一id递增
- 每个数据库缓存失效的那一刻怎么办
- 说下对dubbo、zk等分布式的理解
- 自己设计一个PRC框架要考虑什么
- 用Tomcat主要是解决什么问题
- SpringBoot了解吗
三面(30分钟)
- 怎么设计一对多关系数据表、多对多关系数据表
- 数据库第一第二第三范式
- 数据库死锁
- HTTP的get、post、delete之类
- 算法:矩阵走方格的最短路径,有障碍物(BFS)
- 设计微信发朋友圈、浏览朋友圈、删除朋友圈的整个流程和存储结构
- 说项目和论文……
- 工作岗位意向 想做哪方面
- 团队部门更喜欢哪个
hr面(30分钟)
- 自我介绍
- 面对非计算机专业的我,你来介绍下自己的项目
- 遇到的最大的困难,如何克服的自己最自豪的一件事
- 说一下自己的优缺点
- 平时除了在实验室外,其他的爱好
- 团队工作中如果有一个人没有完成 如何对上级交付
- 平时团队合作的多吗 说一个例子
- 生活工作如何平衡
- 现在有哪些offer了
02 美团(系统开发工程师)
一面(一小时)
- 说项目
- 令牌桶算法
- 登录验证码怎么做
- Cookie和Session存在哪 如果是多机存储都会有什么问题 带id去找重复了怎么办 多用户修改了怎么办
- zookeeper数据结构 写节点的内存限制 在dubbo里作为什么角色
- dubbo中服务调用的几种形式
- RPC过程 怎么知道要调用的远程主机的方法
- 怎么把一个异步过程的返回结果转为同步的
- IOC的循环依赖 怎么解决 有哪几种
- AOP原理
- 你遇到的常见异常
- StringBuilder和StringBuffer区别
- ==和equals的区别
- HashMap、concurrentHashMap
- HTTP有哪些方法 get和post的区别
- 设计模式
- CAS实现原理
- ThreadLocal原理,底层,放在哪
- AQS实现原理 队列为啥要双向的
- Condition队列
- 平时怎么学习的
- 给你自己的技术打几分、学习能力打几分
二面(40分钟)
- TCP和UDP的区别
- TCP时间和资源消耗具体在哪
- 滑动窗口大小初始值
- TCP和UDP可以共用端口吗
- socket先启动服务器还是先三次握手 对应关系
- 三次握手过程中存在的问题
- Linux进程通信方式 最常用的哪种
- 共享内存生命周期
- Linux堆栈和Java堆栈区别
- Java线程池 ScheduledThreadPool
- 项目应用属于io密集还是cpu密集
- Spring的优点和缺点
- Bean对象作用域有哪些
- 知道什么别的类似于Spring这样的框架
- 反向代理为啥叫反向不叫正向
- Nginx和Apache 为什么Nginx快 底层实现是什么
- 数据库mysql存储引擎 innodb优势 其他引擎
- 用索引一定快吗 什么情况下查询快/慢
三面(一小时)
- 深挖项目 挨个问一遍
- 对Spring架构的理解 画类关系继承图
- 对Dubbo的理解 结构是什么样的
- 设计题:电商系统设计 画类图和UML图表示之间的负责关系
- 如果给你一个大型系统开发 如何分工统筹 按什么原则分
- 项目中和别人遇到冲突的例子 怎么解决的
- 平时为什么看源码 如何读源码 按照什么顺序学习
- 对架构设计有什么看法
- 了解领域驱动设计吗
Hr面(40分钟)
- 介绍下做过的数模比赛 为什么要做这个
- 做过的课题中遇到的最难的问题 怎么解决的
- 从大学到现在印象最深的一件事
- 为什么选这个研究方向 喜欢吗
- 导师当时是什么标准选择的
- 为什么想做后台 对后台的理解
- 前端岗,安全岗为什么不考虑
- 职业规划
- 平时的爱好
- 家庭情况
- 家里人对你去互联网工作怎么看
- 互联网工作压力和强度大 你怎么看
- 工作地点问题 为什么想去北京
- 现在有几个offer 选择时会如何考虑
03 菜鸟
一面
- 上来先让我做了自我介绍,简单介绍了一下之前做过什么项目,用了什么技术等等,没有详细问项目的细节,但具体的功能和业务一定要讲清楚。
- 中间穿插着会问到一些基础知识。总共面了50多分钟,java基础能问的基本都问完了。
- JVM垃圾回收,fullgc是否可以回收方法区
- redis支持的数据类型到跳跃表,redis同步策略
- 如何自己实现lru
- mysql索引的数据结构,为什么用B+树不用B树
- 事务隔离级别,聚集锁非聚集锁(问到了一个非常细节的问题:如何用可重复读的隔离级别避免幻读)
- 线程池的构造函数参数,队列的拒绝策略
- spring相关、bean的生命周期,循环引用问题spring如何处理
- concurrentHashmap1.8为什么放弃了分段锁
- 数据库分库分表相关
感觉一面主要考察的是知识广度。
二面
- springAOP的原理,动态代理是怎么实现的
- snmp
- fullgc的时候会导致接口的响应速度特别慢,如何排查和解决
- netty,如何避免的NIO空循环,零拷贝
- 问了一些简单的算法,说一下思路
二面考察的主要是知识的深度以及解决问题的能力。开篇常规先简单自我介绍以及介绍项目。
三面
- kafka的replicas的作用,为什么比其他的消息队列好。
- 微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。
三面面试官特别关注项目的实现和细节。为什么分这几个模块,每个模块做什么以及为什么要用这些技术,都需要非常清楚地解释,中间如果他有疑问会立马打断来问问题。
总结
不知道你有没有拿到自己心仪的offer呢,小编已将自己面试的这些真题都整理出了答案免费分享出来给大家参考复习一下,另外还有一些复习时的刷题资料,全部分享出来,祝大家早日拿到自己心仪的offer~~
最新整理的大厂面试真题+架构专题面试真题+答案(Java面试宝典,Redis,数据库,分布式,中间件,微服务,框架)
MySQL20个必备面试题(含解析)+21条MySQL性能调优实践