美团后端开发实习面试经验
笔试2022/03/12
(不完全回忆)
代码:
1、输入n个数字,判断每个数字是否满足下列两个条件之一:是11的整数倍(如132)、数字里至少包含两个1(如101)。
2、序列中仅包含1和-1两种数字,求有多少个连续的子序列,其序列中的数字乘积为正
3、饭店每种菜只有一份。现在有n个顾客,每个顾客有两份想点的菜,只有顾客吃到全部想要的菜时才会满意。求最多有多少个顾客可以满意
4、n个房间,初始的时候指针在第一个房间,游戏时长为m秒,每秒都会在某一个房间里产生炸弹,指针如果在这个房间里,则需要消耗一个能量切换至另一个房间中。求通过游戏后最小消耗的能量数。
一面2022/03/18(快驴进货)
1、自我介绍
2、项目:需求来源是哪里?几个人开发的?具体分工是啥样的?你做的哪一块,数据库表怎么设计的?
3、竞赛:什么规模的?是全国规模还是城市规模?参赛的有多少人?
基础:
1、Integer和int有什么区别?在存储上有什么差距吗?
2、Array和List的区别,特别在增删改查上有什么区别?
3、HashMap在JDK 8用什么算法实现的?什么时候会变成红黑树,什么时候会变回链表?
4、了解ConcurrentHashMap吗?
5、(看一个表和索引)这个索引有效吗?
6、经常会用Git吗?管理代码用Maven吗?最近用过吗?
7、说一下三次握手的过程。假如最后一次返回断了,会出现什么情况?
非技术:
1、最近在做什么事情?
2、科研方向
反问:现在学知识都不太深,应该怎么去学习?
代码:
1、(看一段ConcurrentHashMap的代码)这段代码在线上跑的时候是线程安全的吗?应该在哪里加锁?写一下加锁的代码
2、学生分数60~70,70~80,80~90,90~100,不同分数对应不同的等级D、C、B、A。写一个SQL将等级标上
3、LeetCode 206.反转链表
二面2022/03/24
1、自我介绍
2、科研:讲一下科研方向,研究做了哪些工作?用了哪些模型?在工程方面怎么实施的?怎么评估效果好坏?结果怎么样?还有哪些方面可以去改进?
3、项目:说一下项目,为什么选择Java这一套?让你现在再去选择,会用什么语言和框架去做?如果人多或者在公司里用呢?为什么觉得Spring是用于做大型项目的?对Spring熟吗?参与了项目的哪个部分?版本控制用的哪个软件?挑一个模块,说一说怎么去设计的?项目遇到的最大的困难是什么?怎么解决的?
基础:
1、用过哪些版本控制软件?Git的机制是什么?Git和SVN有什么区别?
2、Java反射是干嘛的?能举个例子吗?为啥破坏了封装性还去用它?Spring用它解决什么问题?Spring怎么知道该创建哪些东西?
3、Java在语法层面怎么支持并发和多线程?
4、volatile是干嘛的?一般什么时候用volatile?是不是所有变量都要加上volatile?
5、有用过synchronize关键字吗?有些什么使用场景?
6、ArrayList和LinkedList有什么区别?
非技术:
1、有没有实习过?
2、现在写代码是不是比较少?为什么想做开发?
3、研究生期间有过小组合作吗?习惯于主持大局还是配合?会挑剔领导的工作模式吗?
4、什么时候毕业?
5、毕业后打算做什么?对于行业和公司有什么想法?
反问:对于实习生来说,学习理论和项目实践哪个更加重要?
代码:
1、LeetCode 88.合并两个有序数组。解释一下每行代码的意思,写一个测试这段代码的程序。
HR电话面2022/03/28
1、为什么想做开发?
2、意向部门是哪个?
3、打算去哪个城市?我看你是南方人,会不会更偏向上海、深圳、杭州?
4、还投了哪些公司?进展如何?
5、为什么选择美团?
6、什么时候能来实习?能实习到多久?