滴滴面试1面+2面 Java后端
滴滴面试1面+2面 Java后端
双非渣本小菜鸡,有幸进入滴滴,时间挺久啦,收到offer,总结一下面经,可能忘记一些
滴滴进入,金融事业部滴滴支付方向
一面 -- 6月22日11:00 一个小时
(全程赛码在线面试系统)
一面面试官是一个大哥哥感觉的,一直在笑~~ 我太喜欢了,给我的感觉很放松很nice
- 上来自我介绍 (说我特别有激情,hhh)
- 介绍一下你的项目 (这部分就是正常介绍,说出了为什么做、项目特点、成就、职责、项目技术难点、遇到问题、可优化点、对项目未来想法)
【问了点项目技术,从Java基础开始了】
- 8个基本数据类型以及对应的字节数 (这个可以自行百度下)
- 什么是面向对象 (这个我用我自己做饭和去餐馆点餐举例子的,hhh)
- 面向对象和面向过程的区别 (这里主要说,对应的优缺点,面向对象易扩展、封装、继承、多态balabala )
- 那对于多态,说说你的看法 (多态的定义+自己理解,以及运行时多态和编译时多态 ,就是重载重写)
- 那重载和重写有什么区别 ( 老八股 )
- 构造方法可以被重写吗 ( 不能重写可以重载 说原因 )
- 集合用过吧,说说你的了解 ( List、Map、Set以及用过的底下的一个劲的说吧 )
- 那ArrayList和LinkedList ( 底层构成嘛,一个数组一个链表 )
- 一般用HashSet干嘛 ( 去重,项目中怎么用过 )
- HashMap底层结构,1.7-1.8区别 ,为什么这样优化 ( 背吧 )
- HashMap 安全吗 ( 不安全,继续背 )
- 用过什么安全的Map集合 ( HashTable、ConcurrentHashMap 他们的底层组成和HashMap的区别 )
- ConcurrenHashMap 底层 1.7-1.8 怎么变化的,怎么保证同步的 ( 背! )
- ConcurrenHashMap 锁怎么优化的、锁在哪里了 (1.7 Segment分段锁、1.8synchronized锁Node结点以及原因、优点)
- 为什么选择synchronized,不能用别的吗 ( 这里说的synchronized好处、和Lock区别 )
- HashMap和ArrayList怎么扩容的 (一个16 一个10 影响因子0.75以及为啥是这个 )
- HashMap 扩容的时候,流程 ( 底层经过什么变化、都说 )
- 那我List集合想变为安全的怎么弄,使用过安全的吗 ( 这里我说的Collections.synchronizedList()方法、Vector、CopyOnWriteArrayList )
【然后多线程了】
- 你对多线程的理解,你使用过吗 ? ( 说的多线程定义、怎么使用、为什么使用、创建方式对应区别 )
- wait() 和 sleep() 的区别 ( 这里就说的区别,以及wait被唤醒 )
- 那你对线程池了解吗? ( 说的线程池的定义、执行流程 )
- 你使用过线程池吗 ( 这个项目中没用过、小Dome使用过 )
- 你了解过哪些线程池 ( 说了常见四个、newCached、newFixed、newSingle、newScheduled )
- 线程池的核心参数都有什么? ( corePoolSize、unit、maximumPoolSize、workQueue、handler 就记住这5个 )
- 饱和策略或者说拒绝策略都有哪些? ( AbortPolicy、DiscardPolicy、 DiscardOldestPolicy、CallerRunsPolicy 背吧)
【JVM相关了】
- 都有什么GC算法 ( 标记-清除、标记-整理、复制、分代收集(1.7-1.8) 怎么回收垃圾的,全说 )
- 年轻代都经历了什么 ( 8:1:1,怎么回收得之类的 )
- JVM调优参数 ( 我说了Xmx、Xms、Xmn、Xss )
【Mysql】
- Mysql了解哪些锁 ( 乐观锁、悲观锁 )
- 项目中怎么使用的 ( 就说项目中哪儿使用得乐观、哪儿悲观、怎么用的 )
- Mysql中使用过索引吗 ( 使用过,使用哪些 )
- 底层都知道哪些 ( 说了哈希、B+,还说了B+和B的区别 )
- 最左匹配原则 ( 直接举的a b c 的例子 )
- a b c 索引,ac bc 能索引吗 ( ac可以 bc不行 )
- 哪些情况下索引不击中 ( 这里刚开始记不太清楚,面试官引导了一下,类似于 %abc 、or()、函数之类的都不行 )
【该并发方面了】
- volatile 关键字都有什么作用 ( 我说了可见性,怎么可见的 )
- 还有什么作用吗 ( 这个不知道还有什么了 )
- 对JUC了解吧,都包含什么 ( volatile关键字、CAS算法、concurrent包例如ConcurrentHashMap、多线程、线程池、Lock )
- 使用过什么Lock锁 ( 可重入锁ReentrantLock、ReadWriteLock 读写锁 )
- Lock底层是什么 ( AQS、这个我确实不知道了。。。 )
【手撕】
- 手撕出的题不算难, 翻转链表+链表合并 合并成一个题,但是全程赛码、、、自己构建了链表 (两种方式),还得正常运行出来 要我命
【之后就是反问了】
- 部门业务+技术栈+实习生能接触的
- 对我的感觉,对我的建议 ( 很有激情、希望可以保持下去一些习惯xxxxxxxxxxx,挺多的,感觉大哥哥~~ )
- 感谢大哥哥
一面能记住的只有这些了,真的很感谢那个大哥哥,一直在笑,我们就聊的很开心 哈哈哈,全程给我鼓励
然后当天下午14:00 约二面了
二面 -- 6月23日11:00 一个小时30分钟
二面是一个严肃、偶尔爱笑笑的大叔,当时很忙,得抽出空来面我,后期大叔抱着电脑找了一个新地方面试的
感觉是个很严谨,很厉害的大佬:
上来就迟到了3分钟,不好意思哈,我们开始今天的面试。
- 先自我介绍一下吧 ( 自我介绍了一波 )
然后大叔说,作为大学生,你们的项目和小实习没什么参考价值,我们直接算法吧 (好 欲哭无泪)
【手撕】
还是全程赛码,。。。
- 一个正序数组,一个逆序数组,合并输出一个升序数组,你说说思路 ( 我是想先合并数组,然后排序 )
- 思路可以,这个简单一点,我们10分钟左右吧 ( OK,我开始写,然后我直接用的Arrays.sort()方法,hhh 然后大叔说不能用这个,然后我手写了一个快排 )
- 讲讲你的代码 ( 说说每一步干嘛的 )
- 快排还能优化吗 ( 我说了说我印象中快排可以怎么优化,几个优化方案 大叔挺满意的 )
- 第二个题,顺时针打印矩阵,这个思路复杂一点 ,我们15分钟左右吧 ( 然后我开始想着写着,赛码有些还得自己引入,很难顶 最后写出来了 )
- 讲讲你的代码 ( 说说每一步干嘛的 )
到这里手撕+讲解问问题,已经44分钟了,算法部分过去了,
- 我看你一面浅问了JVM,那JVM你了解多少? ( JVM都包含什么 (1.7-1.8),垃圾回收,每一步做什么,JVM调优全说了 )
- 年轻代和年老代 回收频率都是什么 ( 背的 )
【可怕的来了,计网+操作系统】
- 问问你计网吧,HTTPS和HTTP区别 、原理
- HTTPS 流程 ( 这里没有答的让大叔get到 )
- GET 和 POST 的区别
- 状态码 ,404、500、502、504 (这里 502、504 大叔说我回答不太准确)
- 你遇到过 502 、504吗 ( 我当然没。。 )
- 你知道多路复用吗 ( 说了说概念 )
一直没问你操作系统,我问问,
- 堆和栈的区别、是进程中的堆和栈 ( 我记不太住,大概说了说 )
- 那常量生成在哪儿 、变量呢 ( 这里我不知道,说的估计不对 )
这时候已经12:20多了
反问,
- 对我的总体感觉 ( 思维算法挺好的 计网+操作系统不太稳,哭了哭了 )
- 对我的建议 ( xxxxxx )
到这里基本就结束了,面的筋疲力尽,最后也是感谢了大叔,气场很强,很nice
HR通知 -- 6月23日 14:00
本来觉得可能很不稳呢,计网+操作系统回答的不是很理想
但是当天下午2点多 , hr电话到了 ,通过面试了 oc了!!!于是 等待offer hhhh
6月30日 收到offer~~ ✌✌!!!
正好春招的小尾巴,进大厂,希望可以顺利转正吧 听说滴滴转正挺难的 加油加油
春招从3-近7月,纯面试时间2个月
获得offer、oc:
滴滴出行、好未来、微店、恒生电子、群硕、中交兴路、泛微网络、浩鲸、中科星图、亚信、同湛科技
中小偏多,春招顺利结束啦 继续加油!!
#2022滴滴秋储实习##滴滴##面经##java工程师##校招#感兴趣可以来我的博客鸭:
https://www.moyuzc.cn/