阿里五面+微软两面实习面经+offer比较

个人情况

先介绍一下自己,本人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面

  • 是保研的还是考研的
  • 本科毕业时就一心想考研吗,当时有考虑过找工作吗
  • 为什么想投蚂蚁而不是别的部门呢
  • 除了阿里,还有投其他什么公司吗
  • 谈谈你在学校实验室做的事情
  • 介绍一下你的项目
  • 你觉得自己是什么性格
  • 经历过什么挫折吗
  • 用三个形容词介绍一下身边的人怎么评价你

最后打一个小广告
一个是自己的个人博客
另一个是自己在做算法题的过程中所写的算法题解

希望能帮助到大家

#实习##面经##阿里巴巴##微软##Java工程师#
全部评论
投票的xdjm们评论区也留一下原因哈
2 回复
分享
发布于 2021-04-01 20:22
楼主有没有特意的去背八股,还是就完全看书呢
点赞 回复
分享
发布于 2021-04-01 13:04
百信银行
校招火热招聘中
官网直投
为啥微软才2面呀
点赞 回复
分享
发布于 2021-04-01 22:32
同样的专业,为什么我就这么菜呢
点赞 回复
分享
发布于 2021-04-01 22:54
那个博客 前端咋搞的
点赞 回复
分享
发布于 2021-04-01 23:04
redis看的什么书啊
点赞 回复
分享
发布于 2021-04-01 23:06
很八股
点赞 回复
分享
发布于 2021-04-02 08:16
强👍
点赞 回复
分享
发布于 2021-04-02 10:54
例如num为12345,offset为2,那么要返回34512) 其实题目不算难,但要考虑好多细节。例如offset小于0怎么办,大于num位数怎么办,整数移位后超出int型范围怎么办等等 大于num位数 就 %num?   这样移动怎么会超出int呢?
点赞 回复
分享
发布于 2021-04-02 14:02
楼主问一下,你投简历是去官网还是直接发邮箱的那种,我看帖子下面有那种邮箱联系的,官网上说只能投一个岗位,帖子里面好像说那边结束了就还可以去他的邮箱那边投,这是啥情况?
点赞 回复
分享
发布于 2021-04-02 19:26
今天刚刚腾讯三面,蹭蹭运气,求上岸
点赞 回复
分享
发布于 2021-04-03 00:36
真好啊,阿里都不给我offer的……我只能选微软实习了。 M365是你报道后选一个实习项目的,早到的多些选择。
点赞 回复
分享
发布于 2021-04-05 01:47
面临类似的选择,蹲一蹲
点赞 回复
分享
发布于 2021-04-07 11:06
hxd,微软面试是全英吗
点赞 回复
分享
发布于 2021-04-07 11:12
恭喜恭喜,大佬请问下蚂蚁收到意向书说了多久发offer吗
点赞 回复
分享
发布于 2021-04-09 12:34
请问微软一面后多久给结果约二面的呀~
点赞 回复
分享
发布于 2021-04-12 19:46
类似情况 蹲
点赞 回复
分享
发布于 2021-04-18 23:23
请问楼主决定了吗?我也是阿里和微软纠结…想选微软实习,但是担心语言和技术栈的问题
点赞 回复
分享
发布于 2021-04-18 23:26
大佬最后去哪了
点赞 回复
分享
发布于 2021-05-18 14:58
请问面微软 对英语有啥要求不
点赞 回复
分享
发布于 2021-09-14 11:00

相关推荐

1.项目2主要负责是哪块?2.堆场的数据是怎么拿到的?3.深拷贝和浅拷贝的区别?值传递和引用传递的区别?使用的时候有什么注意点?4.是否了解原子操作?i++是否是原子的?(不是,分为自增和复制两步)那i = i+1是原子的吗?(是)5.进程和线程的区别?1个线程挂了,其他线程会挂吗?什么时候用线程,什么时候用进程?举个例子。6.4核CPU一般开多少个线程上限比较好?(懵)线程之间通信有什么方式吗?7.多条线程对同一个变量进行操作的话,线程1赋值1,线程2赋值2,线程3赋值3,最后变量值是多少?8.如果数据库表很大,用户需要多次查找,应该对数据库层面做什么?(索引)9.索引是越多越好吗?不是,为什么?10.查一个数据用like的话走不走索引?11.数据库层面,对商品秒杀,用户买了商品库存-1,钱包金额扣钱,买成功的话涉及库存减少和金额的变化,当下单时库存减少,但付款没有成功,怎么办?(保证减库存和扣钱操作的一致性,要保证同成功同失败)12.事务的隔离级别?ACID?13.redis数据库和缓存不一致怎么解决?那先操作数据库再删除缓存,如何保证这两个操作都能成功?(加锁)14.知道什么是区块链吗?15.对排序算法了解吗?知道哪些?说下快速排序的思想?16.100个int型数据(<100w)进行排序,要进行升序排序,怎么做最快?反问:可以从哪方面再进行学习?答:实习生的话主要还是对于java基础、操作系统、数据结构层面基础的考察,因为项目涉及的一般比较简单,所以基本会在基础方面对比。(说的非常委婉了家人们...)面试官很好,不懂的地方还会提醒,很耐心,八股还得再背背,经不起考验TAT #蚂蚁一面#  #软件开发2024笔面经#
点赞 评论 收藏
转发
32 243 评论
分享
牛客网
牛客企业服务