个人情况
- 先介绍一下自己,本人2022届Java选手一枚,本硕都是通信专业。本科修过的计算机方向的课程仅限于C语言、C++、数据结构与算法、计算机网络。本科毕设时开始接触Java,研究生期间做了一些空间网络方向的科研工作,无可以往简历上写的实验室项目。
微软一面
- 都了解哪些设计模式
- 介绍一下单例模式
- 单例模式的优缺点是什么
- 介绍一下MySQL的索引
- 为什么MySQL要用B+树呢
- 做了两道题:leetcode39.组合总和 leetcode40.组合总和 II
微软二面
- 自我介绍
- 你觉得算法题目的代码和项目的代码有哪些区别
- 如果让你设计一个系统,你设计的时候要考虑什么,才能让系统做到高内聚低耦合呢(因为上一个问题我说到项目代码要考虑面向对象的方面)
- 说一下面向对象中的多态
- 你觉得像Java和C#这样的语言采用自动内存管理都有哪些好处和弊端
- 操作系统中进程和线程的区别
- 聊了聊并发的一些内容
- 写一段代码实现:给定一个整数num和一个offset,得到将这个整数左移offset位的结果(例如num为12345,offset为2,那么要返回34512)
- 其实题目不算难,但要考虑好多细节。例如offset小于0怎么办,大于num位数怎么办,整数移位后超出int型范围怎么办等等
蚂蚁一面
- 这一面的面经之前在牛客上记录过,传送门–>蚂蚁Java实习一面面经</