在面试之前,本人仍然在沉浸在笔试通过、争取到面试机会的窃喜之中,没想到得到地却是一次惨痛的教训。 首先, 简单说下笔试的情况,头条的笔试一共四道算法编程题!个人猜测,至少要作对一半以上,才能通过!编程题是在牛客平台上进行,按照测试用例的通过率给分的哈!一共2个小时!头条还是比较人性化的,把笔试、面试安排在周六。
好,顺利地通过笔试!我们开始哭诉面试,同样也是在牛客进行的视频面试。首先要告诫各位的是头条的面试真得很看重基础,数据库底层原理、操作系统、计算机网络、jdk源码等!马马虎虎记得项目一点都没有问!
- 进程与线程
- 僵尸进程与孤儿进程
- 操作系统 信号-进程通信
- 操作系统文件系统
- 死锁产生的原因以及应对死锁的方法,银行家算法等
- 缺页中断
- linux 多路复用io模型
- 谈一谈nio与传统阻塞io的区别
- 乐观锁 自旋锁,谈到了锁升级, 锁粗化等
- 数据库 索引底层数据结构b+树以及原因,mvvc ,索引最左匹配原则
- ping命令原理 ,ICMP协议, tcp的挥手过程 2MSL等待的含义及原因
- 谈一谈拥塞控制 慢启动、拥塞避免、快重传、快恢复
- hashmap底层数据结构,在并发环境下会有什么问题,为什么会导致死循环
- volitile关键字及底层实现原理 内存屏障实现
- 实现lru算法 一种linkedhashmap 另一种linkedlist+hashmap第二种的实现 如何保证查询、修改的效率高?
- 分享一下你对kafka的原理的了解, kafka leader节点选取!副本机制与ISR! 这道题很慌,我本来是想说原理的,但不知怎么就谈到了消息的重复消费 消息积压的处理方案,跑题了。
- redis实现分布式锁 一般选择什么作为key
- hash一致性算法是什么? 为什么要设立虚拟节点?
- JVM新生代垃圾回收原理
- 一道手写代码题 ,好像剑指offer上,给定一棵二叉树和一个整数, 求树的根节点到叶子节点是否存在一条路径的和等于该整数 这个还好,虽然花了点时间,最后还是调试出来了,代码比较简单,可以自己查一下,采用dfs. 以上这些问题的答案都会在我今后的专栏中更新出来!当然可能仅代表我自己的总结,如有纰漏、或着更精妙的回答,感谢分享!
虽然面试以失败告终,但愿能分享一些微不足道的经验之谈! 自己由于实习,一直做项目,导致很多学到的东西生疏了许多,当然面试这个东西还是需要提前准备的。本人就是由于平时上班,面试前一天才开始准备,有些措手不及!因为担心算法,所以刷了几十道算法题,然后算法最后轻松的过了,却跪在了基础综合知识上! 自信地说这些基础类型的问题,面试提前准备一下还是可以轻松的pass的! 最后告诫,注重基础! 对于这次面试,其实说实话本人在此之前这些题都有准备过,可以说不存在没听过的问题,但奈何之前就是眼高手低,没有落到实处。当然还有一个原因,就是很多问题自己心里都明白,可能就是表述的时候,不能完美的表达出来! 对于这一点,个人的总结是,并不是说表达能力不好,主要因为自己平时看这些问题都是通过博客、书籍等,从未曾想过用自己的话讲述给他人听,何况还是视频面试,多少有一点干扰因素! 最后考虑一个问题,这些明明各大面经都有答案的问题,在自己面试的遇到的时候自己回答还是不能得到面试官大佬的欢心! 人家的毕竟是人家的,背一遍出来 是人都能听出来是背的,必须自己总结,从多个材料总结同一个问题的最佳答案! 戒骄戒躁,你我共勉!