滴滴java开发一二三面面经
攒一波人品,祈愿滴滴能给个offer,嘤嘤嘤
大概记录一下,因为滴滴三面同一天,太难了。我觉得不记录一下对不起我饿着肚子不午休换来的面试。
早上11点一面,40min,之后直接二面通知,12点二面,又40min,之后1点三面,哭哭,饿着肚子,顶着困意,面试官还迟到了半个小时。最后三面一个点。但是三轮面试官人都挺好的,很有耐心。
一面
一面偏向于自由发挥(也可能是我太自由了)
- 写个简单的二叉树中序遍历
- 介绍一下项目,讲一下业务流程
- 讲一下JVM的了解(从内存结构说到类加载说到垃圾回收,疯狂背课文)
- 讲一下mybatis使用遇到的问题
- 说一下mysql的了解(感觉又背了快七八分钟吧)
- 讲一下线程池的了解(再次吟唱)
- 平常通过什么途径学习的java,需要学习一项新技术你是什么样的思路
- 怎么和同事进行一个项目的推进
面试官总结:基础不错,学习能力也ok,项目没有落地,可以接受
二面
二面偏向考察逻辑了,大多数是设计类的问题
- 讲一下项目吧
- java的基础(三大特性)
- 如果让你抽象一个面试,怎么抽象(先答的抽象面试官和候选人,后来让抽象面试的接口)
- 如何设计让同一个面试官的面试时间不会冲突?(加锁,问还有什么方案,线程池?)
- 为什么需要线程安全?会出现哪些问题?
- 介绍一下自己平常有总结的类图?(大概就是包、类的继承关系吧)
- 如何实现一个扑克牌的洗牌的功能?
- 如何实现的查询某一门科目班级的分数情况,要求有序(一开始说mysql,不让用,要对象实现,成员变量和排序吧)
- 讲一下快排的思路
- 内部类都有哪些?有什么好处?什么场景下使用
- 函数式接口了解吗?讲一下,有什么好处
- 如何设计一个电梯的调度系统(尴尬,全程瞎扯,面试官不满意,说我可能对题意不是很清楚,最后就算了)
面试官总结:对于已经学过的东西掌握不错,java抽象也可以,学过的数据结构和算法也能够有意识的去应用,但是对于实际问题的剖析找不到切入点和重点,解决问题的思路有待加强,但问题不大。
三面
偏实际需求了,然后被吊打
- 说一下项目吧(一个烂大街的秒杀被要求讲三遍,我是崩溃的),讲一讲在其中主要的收获
- 如何解决mysql访问量大的问题
- 行锁和表锁平常是怎么使用的
- 讲一下线程同步的语义?(忘记怎么说了,最后问的就是哪些方法线程同步)
- 大概讲一下各个语义是怎么实现的
- 线程安全大概讲一下,可能出现什么问题,从jvm层面来说呢?(堆)
- 一个2GB的数据表,如何去掉重复的数据,或者可能重复的数据,需要考虑哪些问题?(瞎扯+不会)
- 一个百万条的日志记录,如何从中找出排名前4的用户(说的的滴滴司机接单量)(瞎扯+不会)
- k个一组反转链表(力扣25)(写了半天,写个空指针异常,面试官问要不要放弃,想了想,快一个小时了,累了,放弃了,面试官嫌我代码写的乱,让讲一下)
面试官总结:还是挺聪明的(表面安慰一下),但是实际业务方面写的太少了,光看是没有用的。业务方面的话多加强一下吧(实际直接劝退)
自己总结:一面感觉还行,二面感觉勉勉强强,三面直接拉闸。但是我还是祈愿一下,能有个hr面。
最后,滴滴约时间千万不要约半晌的,不然你可能吃不上饭