面试复盘|神策数据,北京Java一面凉经,9月11号
我太菜了,直接被怼到快哭了。。。全程不知道
轻雀会议,一个网页的,左侧代码编辑器,右侧视频和消息框。
上来,也没用自我介绍,也没问项目啥的,直接开始撸代码。。。
算法
10分钟,自己实现一个链表结构,然后自己新定义个链表对象,之后写方法判断,有个提交按钮。
我上来紧张了,数据结构忘得差不多了。。虽然说链表结构应该写对了,但是导致后面脑子全乱了。。。
简答题,就硬是没答出来,上来就自己想的比较复杂的解法而且还没实现出来。。。
还没写多少就10min过去了……没写完,也没提交运行。
自己想法都想了一半了,统计长度,分半,双指针。
怎么就没想到反转链表呢,或者上栈也行啊。。。
也没想到最简单的解法,另开数组空间直接把链表值塞进去啊。
脑子里全是水。
我太菜了。也可能是因为这吧,然后后面被怼到哭。
开始问八股,Java多线程,Redis,MySQL。
总的来说也怪自己太菜了,这些有的看过,但是没看详细看深入,好多都忘了,只是一知半解。
Java多线程
- 讲讲synchronized和ReentrantLock的区别;
- 你说了区别有公平锁非公平锁,解释一下;还有其他哪些锁
- 知道ReentrantLock的底层原理吗,解释一下;它是怎么实现公平锁和非公平锁的
- 知道synchronized的底层原理吗,解释一下
- JUC工具类,说一下了解的
答得不太好,结结巴巴,一知半解,聊不下去了。
Redis
- 为啥用Redis不用MemCached?(看过,忘了,只说了Redis新,常用,我真想拍死自己)
- Redis号称并发量非常高,怎么做到这一点的(我说了内存型数据库和集群,当时想不起来了应该是说线程模型吧,还是说分布式锁?)
- Redis一直存数据,会爆掉,什么机制来保证不会爆的(我答的淘汰策略,设置超时时间)
- 然后问了淘汰策略里提到的LFU和LRU,具体解释一下,涉及到什么原理(我说了程序的局部性,如果一个代码/变量之前很长一段时间没使用,之后也很有可能不适用。好像说反了?)
- 宕机,Redis里面保存的东西咋整(持久化,AOF,RDB)
- RDB触发的时机(当时懵了,说了个宕机之后再开机会触发。。人家那意思应该是问什么时候RDB备份吧结果我说了个这么傻的答案)
- AOF追加,阻塞了怎么办(这玩意还会阻塞??直接不知道)
面试官:皱眉,皱眉,那你MySQL在用对吧
这时候我已经手脚发麻,脑袋发懵,魂不附体了都……
MySQL
- 你们用啥存储引擎(InnoDB,只知道InnoDB和MyISAM),为啥不用其他的(说了恢复机制)
- 这个恢复是啥意思,挂掉之后的还是啥意思?(wtm竟然忘了事务)
- redo日志,讲一下(只知道是恢复数据的),原理详细过程(完蛋不知道)
反问
我知道我自己绝壁凉了。。不知道说了多少句“不知道不了解”,以及面试官皱眉了多少次。。。
只能扯扯了,问问技术栈,说不完全是Spring体系,自己搭建研究改造的一些框架较多。
问建议,说技术这条路还很漫长,我还年轻。。。(暗示我现在太嫩了啊)
主要是我太菜了,有好多东西看过都忘了,或者看的不详细不够深。
刚第一家面试有了点自信,这个第二家神策就给我怼到自闭了,唉难受啊。导致我对之后的都非常的害怕。。。啊啊啊啊啊啊啊啊
我觉得我不行了。。。难受难受难受
#面试复盘##面经##Java##校招#