蚂蚁Java暑期实习123+hr面面经
一面(简历面)
2022.3.4 晚上6.40 电话面 45min
1.自我介绍
2.讲讲你实现的数据库有参考过MySQL吗?有哪些结构(Parser、还有字段元组balabala)
3.执行一条sql语句后你的数据库做了什么事?
4.如果你的sql语句写错了怎么办?如何去识别错误的sql?
5.insert一些数据到你的数据库是怎么实现的(page结构、bufferpoll、锁保证隔离)
6.MySQL的隔离级别有哪些(四种,然后MVCC机制balabala)
7.redo log和binlog的区别?
8.读写分离,主备库是基于哪个日志?
9.有了解非关系数据库吗?(Redis)
10.Redis使用的场景?什么时候使用MySQL什么时候使用Redis?
11.为什么Redis可以用来做缓存
12.讲一下Redis的持久化机制
13.讲一下Java中的异常体系
14.LinkedList和ArrayList的区别
15.ArrayList是线程安全的吗?
16.介绍一下COWArrayList的原理?应用场景?
17.对Java的锁有了解吗?Synchronized和ReentrantLock的区别
18.TCP协议和UDP协议的区别
19.有什么协议基于TCP的(只记得HTTP、FTP。。)
20.Get和Post的区别
21.有向无环图听过吗?
22.讲一下树?二叉树有哪些遍历方式?二叉树的层序遍历的实现思路?
23.讲一下AOP?实现原理?应用场景?
24.Cookie和Session的区别
25.CPU100%怎么解决?服务器的负载了解过吗(不会)
26.用一个词来概括你的特质(懵逼)
27.了解过我们部门做什么的吗?感兴趣吗?
二面
2022.03.17 早上11点 55min
自我介绍
1.有参加过什么比赛或做过什么项目吗?
2.数据库实现到什么程度?简单介绍了一下
3.大概用了多长时间?每天花多少时间?
4.Java多线程有用过吗?启动一个线程和一个进程分别怎么实现?
5.进程和线程的区别
6.进程间的通信方式
7.线程安全如何实现?然后问了ThreadLocal和其他线程安全的方式
8.Sychronized和ReentrantLock的区别
9.讲一下可见性的含义
10.问原子变量,原子引用
11.场景题:分布式电商网站,如何实现分布式的乐观锁和悲观锁(这块讲了挺久)
12.对框架了解过吗?简单说了一下
13.Spring做工程带来的核心的好处是什么
14.SpringBoot的优势
15.Maven管理依赖时,出现不兼容的版本会有什么问题
16.讲讲RPC的技术架构?核心关注点?
17.有了解过一些开源的RPC框架吗?
18.服务注册和发现,调用方去调用发布,如果服务端发布新的服务,如何做到无感?(这里感觉答的不好,了解不是很多)
19.对大数据技术体系有什么了解吗?(无)
20.看了一下笔试成绩(惨)?问了一下感觉哪里做的不好
21.看了一下我的博客,问平时怎么写的?
22.有去哪里看一些技术文章吗?
反问环节:
1.问了一些大数据比较核心的东西(面试官好有耐心,从起源到技术层级分布,讲了10min左右)
2.对自己的建议(面试官耐心讲了一下职业规划,真不错)
三面(技术终面)
2022.04.01 晚上9点 26min
1.自我介绍
2.两个项目让我自己挑一个讲一下(数据库项目)
3.你主要时间花在哪些?哪些部分比较有挑战性(锁机制和B+树)
4.说了下项目里锁机制如何实现的?读写锁怎么实现的?讲了一下LockManager和Lock的实现,二阶段封锁协议
5.讲了一下B+的实现难点,死锁和蟹行协议
6.有研究过一下哪些开源的项目?
7.可以看下你的项目代码吗?后面加了一下微信发邮箱给面试官
8.平时有和身边同学交流吗?
9.用几个关键词形容一下你自己
反问环节:
1.对实习生的哪些方面可能会比较满意
2.问了一下对我的评价
HR面
2022.04.07 早上10点多面的 25分钟左右 全程聊天 比较轻松
1.介绍一下自己的优势,与岗位的匹配程度
2.聊一些参加过的社团相关的
3.讲一下从小到大自己最低谷和最高光的事情
4.学校在广州,来杭州这边实习有什么顾虑吗
5.对自己职业生涯的规划
6.家是哪里的?家在XX(广东某三线城市)来这边工作父母会有哪些顾虑吗?
7.自己生活/学习上比较崇拜的人
8.用三个词描述一下你自己
9.身边的朋友对你的评价
10.你的技术栈是Java,满分10分的话给你自己打几分?为什么?
11.现在有哪些offer
反问环节:
1.部门对实习生的培养机制
2.多久知道结果