金九银十,Java 程序员面试历程(附字节,阿里,百度,网易,美团等面经)
目前拿到了字节,百度,网易(白菜价,已拒),美团,小米的意向书,等最终结果通知的是华泰(已收到体检通知),招行信用卡,阿里
招银(资料审查中),网易互娱(二面没去),浦发(没去体检),农行(面试通过,没去笔试),腾讯(两次被捞都是一面挂,第三次还是深圳拒绝了面试),微软(笔试完),银联(笔试完),微博(拒绝了现场面试)
还有各种笔试挂的(流利说,爱奇艺,小红书,B 站),后续拒绝了很多面试,再也没有精力再去了,持续躺尸中....
实习的时候真的是屡战屡败(阿里三次已回绝),真的要好好调整自己,面试过程中要充分思考,祝大家都收获自己满意的 Offer
一. 字节跳动(北京)
字节跳动是提前批面的第一家公司,部门也是核心部门,但是但是当时脑抽投的北京岗位,很后悔没投南京的,日常眼馋实验室同学的南京字节 Offer
面试体验很好,给了自己信心和很多面试的查漏补缺以及思考方式,感恩。
还记得视频面紧张的不行,因为代码能力比较弱,很怕手撕代码,一面面试官看我没写出来,还换了一道特别简单的判断有无环,真的是感恩。
一面+二面+三面:(视频面)
Redis 数据类型的底层数据结构,String 类型和 SortedSet 类型
中断处理中 cpu 现场环境存储在哪里
MySQL 中有 a,b 两列各自建立索引,在进行查询的时候,走哪个索引,怎么设计
三面主要问项目中的消息中间件和场景题
代码题目:leetcode 85 最大矩形 , 判断链表有无环,手写 hashmap
好多不记得了。。
还记得当时收到四面通知的崩溃,以为结束了,都在躺尸的时候收到了四面通知。。
四面(视频面)
灵魂拷问:觉得自己前面几轮面的怎么样,为什么觉得三面没面好,三面面试官提出的问题下面有去思考吗
针对被三面面试官问懵的项目问题,开始深挖和设置场景题...
如何比较对于同一个问题的两种算法的优劣性,不能计算时间复杂度和空间复杂度(信息增量)
二. 百度(上海)
一面(视频面)(1h20min)
代码题:单例模式,数组的题
阻塞队列实现
怎么设计一个线程池的各个参数,各种场景下线程池的设计
cas 底部是怎么实现的保证原子性(底部到硬件指令)
最后,讲一下虚拟机的知识点吧
只记得一些典型的问题了,一面还是基础问的比较多,细致~
二面(电话面)
聊项目.gif(感受到一丝凉意)
hadoop 和 spark 区别,为什么用 spark,优势
为什么用这个消息队列,高可用,保证消息不丢失的机制
为什么用线程池,线程池有哪些,以及应用场景
垃圾回收的知识,为什么要垃圾回收,可达性分析,回收算法,垃圾回收器
写 sql 语句,查询各门科目成绩都>80 的学生姓名
聚簇索引和非聚簇索引
mysql 事务和隔离级别,默认的隔离级别
sychronized 和可重入锁的区别
ORM 框架——mybatis
Spring 和 Springboot (我以为会被挂的地方,不太懂 Spring)
三面(电话面)
是个小姐姐,技术加 HR 面综合的感觉
主要问的分布式的项目以及 Spark 项目,没有基础知识和代码题
觉得自己的缺点是什么,周围人对你是什么评价,最有成就感的一件事
三. 网易(杭州)
几乎和百度同时进行~
一面(视频面)
为什么研究方向是机器学习,不做算法。。(我也想啊,这不是菜嘛)
聊项目.jpg,主要聊了分布式的项目,源码等等
那我们来问一下 java 知识吧
java 内存区域
java 有哪些等待通知机制
Countdownlatch 了解嘛,底层怎么实现的?
说下 AQS
什么时候申请堆外内存
内存映射以及内存映射的方法是哪个
分布式缓存 redis,怎么做成分布式
一致性 hash
不用 redis cluster 怎么做?
redis cluster 一个宕机了会有哪些处理?
分布式数据库了解吗?
发布订阅模式,以及一个消费者组集群模式怎么消费
了解 Spring 吗(不了解不清楚别问我我没看)
web 下服务器怎么做负载均衡的?
二面(视频面)
项目和场景题
负载均衡的几种方法
缓存击穿,雪崩的应对方法,详细讲
HR 面(现场面)
常规 HR 问题
四. 阿里(等最终通知)
一面(电话面)
项目相关:有调研其他的消息中间件吗?为什么用 rocketmq?
线程池的原理以及各种线程池的应用场景
线程池中使用有限的阻塞队列和无限的阻塞队列的区别
如果你发现你的 sql 语句始终走另一个索引,但是你希望它走你想要的索引,怎么办
mysql 执行计划
数据库索引为什么用 b+树(磁盘 io 的深入了解)
你在做 sql 优化主要从哪几个方面做,用到哪些方法工具
二面 + 三面 + 交叉面 + HR 面(电话面)
(我已经忘完了,忘记记录面经了)
在坐地铁的路上面了个疑似交叉面的面试,刚开始以为是挂了,然后被别的部门捞了,也没听清楚是什么部门,内心很崩溃,当时面的感觉是秋招面的最差的一次。
却意外地等到了 HR 面,才知道前一面可能是交叉面(来自从没体验过交叉面的疑惑)~~
面试官让我帮忙推没有面过的简历,太难找了,问了别的实验室也没有,尽力啦,等最终通知!!
五. 美团(上海)
一面(电话面)
太太遥远了,不记得了.jpg
二面+三面+HR 面(现场面)
距离一面有 1 个多月,期间收到了 HR 通知去上海现场面,但当时有些懒得跑,想等南京现场面,就木有去,终于等到南京现场面
线程池的原理以及各种线程池的应用场景
项目深挖,画出架构图,加 MQ 源码
MQ 不能保证只会消费一次,如果让你在 MQ 中加入,你要怎么设计
消息去重保证幂等性有哪些方法
我是只有七秒记忆么,这是最近面的一个了,大多还是不记得了
六. 小米(南京)
一面(现场面 2h)
去了南京小米公司面了一波,整整两个小时让我怀疑人生
问了研究方向
项目中使用的 MySQL 版本号,使用哪个引擎,为什么
MySQL 两个引擎的区别,为什么 INNODB 使用聚簇索引,而不用 MyISAM 行指针的形式
SQL 优化的几个方面
Redis 的数据类型,SortedSet 底部实现
Redis 分片的几种形式,Redis Cluster
介绍一下 JVM 知识
Java 线程池原理及其应用场景
Concurrent 并发包里几个类介绍一下
HashMap 求 hash 值的时候,无符号右移 16 位的意义
解决 hash 冲突的几种方法,在哪些地方用哪种
tcp 粘包和拆包的方法,tcp 可靠性通过哪几个方面保证
http 无状态的,session 和 cookie 存储在哪里
调用一个模块的服务的请求参数是加在哪里,修改 http 请求头来保持请求的状态
一个服务部署在多个服务器上,怎么负载均衡,怎么让请求打到某个服务器上,怎么寻址,一个服务器宕机怎么感知
io 多路复用,select,poll,epoll 的底部原理
手写一致性 hash
算法题:两个集合求交集,其中相同的数字出现多次就输出多次,无序
二面(电话面)
不想再跑一趟了,向面试官改成了电话面
避免幻读的方法,MVCC 中怎么避免幻读的某个方面
Full GC 什么时候发生,各种垃圾回收器,哪些是年轻代,哪些是老年代
数据库索引结构,为什么是 B+树
项目 ing
感觉面的不太好,二面面试官说有三面,没等来三面,等来了 Offer Call
七. 华泰(南京)
一面
项目问题 ing....
http 的 get 和 post 区别
大量数据不能一次性放到内存,出现频率最大的数字,数据倾斜的极端情况怎么办
课题考察
分布式全局唯一 ID 生成器
耗费心血,熬夜三天
HR 面(5 分钟)
主要问成绩,家庭情况和职业规划
已经收到体检通知啦,希望一切顺利,加油
八. 招商银行信用卡中心(等最终通知)
初面
项目里用了什么设计模式,详细讲一下
项目 ing
微服务
终面(技术+HR 面)
问了研究方向....详细讲讲看
项目问题
HR 问题:如果转前端可以吗,学习要多久(回答的是更想做后端,害怕.jpg)
在面试这些公司钱也做过很多的准备工作,其中就包括刷面试题和资料,现在 offer 已经拿到了,就把面试题和资料都分享出来吧,给有需要的小伙伴可以点击这里即可获取到文章中的文档,资料!
技术点讲解文档:
面试题学习文档:
评论