个人情况
先介绍一下自己,本人2022届Java选手一枚,本硕都是通信专业。本科修过的计算机方向的课程仅限于C语言、C++、数据结构与算法、计算机网络。本科毕设时开始接触Java,研究生期间做了一些空间网络方向的科研工作,无可以往简历上写的实验室项目。
研一入学时曾三天打鱼两天晒网地学了学找工作相关的知识,也在leetcode上刷了一些题。后来被导师叫去搞科研耽搁了几个月。去年春天疫情在家期间,才开始系统地学习+刷题。所做的准备按时间顺序主要有以下几方面:数据结构与算法、Java语言、计算机网络、操作系统、数据库MySQL、Java虚拟机、Java并发、Redis,学习方式主要为看书。此外,期间一直有在Leetcode刷题,一年下来坚持刷了550多道题,最后自己做了一个简单的SSM博客项目。今年2月初开始投简历开始暑期实习面试。
目前仅完整经历了蚂蚁和微软这两家的面试,巧合的是这两家都是在昨天(3.31)给发了Offer或意向书。
- 蚂蚁Base杭州,岗位是Java开发工程师,部门为:蚂蚁集团-CTO线-数据与平台技术事业群-蚂蚁智能引擎与数据中台技术事业部-大数据部
- 微软Base苏州,岗位为SDE,部门为:STCA-M365(大概率是)
TimeLine
蚂蚁 | 时间 |
---|---|
简历投递 | 2.22 |
一面(提前批) | 2.23 |
二面(提前批) | 3.4 |
笔试 | 3.12 |
三面 | 3.15 |
四面 | 3.17 |
HR面 | 3.19 |
意向书 | 3.31 |
微软 | 时间 |
---|---|
简历投递 | 2.9 |
笔试 | 2.28 |
一面 | 3.15 |
Lead面 | 3.19 |
Offer | 3.31 |
面经总结
微软一面
- 都了解哪些设计模式
- 介绍一下单例模式
- 单例模式的优缺点是什么
- 介绍一下MySQL的索引
- 为什么MySQL要用B+树呢
- 做了两道题:leetcode39.组合总和 leetcode40.组合总和 II
微软二面
- 自我介绍
- 你觉得算法题目的代码和项目的代码有哪些区别
- 如果让你设计一个系统,你设计的时候要考虑什么,才能让系统做到高内聚低耦合呢(因为上一个问题我说到项目代码要考虑面向对象的方面)
- 说一下面向对象中的多态
- 你觉得像Java和C#这样的语言采用自动内存管理都有哪些好处和弊端
- 操作系统中进程和线程的区别
- 聊了聊并发的一些内容
- 写一段代码实现:给定一个整数num和一个offset,得到将这个整数左移offset位的结果(例如num为12345,offset为2,那么要返回34512)
其实题目不算难,但要考虑好多细节。例如offset小于0怎么办,大于num位数怎么办,整数移位后超出int型范围怎么办等等
蚂蚁一面
这一面的面经之前在牛客上记录过,传送门-->蚂蚁Java实习一面面经
蚂蚁二面
1. 博客项目文章在数据库中怎么存,用什么数据类型特别长的文章会不会超出字段的长度限制,编码格式用的是什么。
2. 有试过url编码(encode)来解决乱码问题吗
3. 文章上有没有浏览次数展示?点赞次数怎么进行并发控制。怎么解决?,如果是两个机器怎么解决?memcache自旋锁、分布式锁实现逻辑
4. cookie和session介绍一下。cookie上的域了解吗。a.baidu.com能不能获取到b.baidu.com的cookie
5. 项目中遇到过的麻烦的问题。
6. 说一下HTTP和HTTPS的区别
7. HTTPS怎么解决身份被篡改的问题,客户端怎么和CA来进行交互?浏览器会在本地预设一些证书
8. 了解NIO、BIO、AIO吗?NIO和BIO的优缺点?你觉得博客系统是用什么实现的?了解Netty框架吗?
9. 了解协程吗?
10. 了解强软弱虚这几种引用吗?你认为软引用和弱引用的适用场景是什么
11. 如果博客系统挂了(一个java进程挂了),你有什么思路去排查,有哪些原因会导致它挂了。
12. 能实习三个月吗?
13. 建议:研究一下项目复杂的点,不要只罗列功能,尽量要展现难点。
蚂蚁三面
- 自我介绍
- 专业、职业选择问题
- 介绍一下博客项目
- 文章在数据库中怎么存的
- 项目中遇到哪些难点或亮点
- Get和Post的区别
- 除了博客项目,有没有其他项目的经历
- 你对数据库事务的理解
- 举一到两个需要用到事务的场景
- 介绍一下Redis的使用场景
- 线程间的通信
- 内存泄漏和内存溢出
- 网站登录“记住我”这个功能是怎么实现的
- 在HTTPS中怎么进行伪装(客户端怎么伪装)
- 消息队列了解吗RocketMQ Kafka
- 针对亿级别大数据量存储,怎么设计库表
- 对于个人技术层面,你还有没有想补充的
- 在你做个人博客系统的过程中,有没有用到什么算法或算法思维
- 反问环节:部门业务、部门技术栈
蚂蚁四面
因为这一面没有提前约,当时正在去吃晚饭的路上,还下着雨,四面面试官打来电话就要开始面试,我问等半小时咱吃完晚饭后行不行,他说不太行,之后他有事。于是我就举着伞在大马路上面了。因为比较匆忙,所以没有录音,凭记忆想起来了当时的几个问题。可能是因为这一面的面试官级别比较高也比较忙,只面了20min且没有涉及太多具体的技术细节,更多地像聊天。
问题包括但不限于:
- 自我介绍
- 介绍下HashMap
- 介绍下乐观锁和悲观锁
- 介绍下你的博客项目和科研项目
- 你觉得你最大的优点和短板是什么,身边的人怎么评价你
- 你和你的同学们怎么看待蚂蚁
- 在学校成绩排名多少
蚂蚁HR面
- 是保研的还是考研的
- 本科毕业时就一心想考研吗,当时有考虑过找工作吗
- 为什么想投蚂蚁而不是别的部门呢
- 除了阿里,还有投其他什么公司吗
- 谈谈你在学校实验室做的事情
- 介绍一下你的项目
- 你觉得自己是什么性格
- 经历过什么挫折吗
- 用三个形容词介绍一下身边的人怎么评价你
最后打一个小广告
一个是自己的个人博客
另一个是自己在做算法题的过程中所写的算法题解
希望能帮助到大家
全部评论
(22) 回帖