 后端研发工程师 找牛客大佬要到了白金码,跳过死亡笔试,直接视频面,面试从3点开始,断断续续到晚上8点结束。 每个面试官给我的感觉都是怎么这么高冷啊。 一面: 1 写一个题,找一个无序数组的中位数 2 写了个快排,然后让我找到无序数组第k大的一个数,我说先 排序 再找,实际上可以用快排的partition函数。 3 快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少,nlgn。 4 操作系统了解么,Linux和windows 5 说说 Linux 的磁盘管理,一脸懵逼 6 Linux有哪些进程通信方式,五大件 7 Linux的共享内存如何实现,大概说了一下。 8 共享内存实现的具体步骤,我说没用过 9 socket网络编程,说一下TCP的三次握手和四次挥手,中间网络不好,面试官都没听清楚,很尴尬 10 跳过网络,问了项目的一些东西 11 问我如何把 docker 讲的很清楚,我从物理机,虚拟机到容器具体实现稍微说了下。 12 问我cgroup在linux的具体实现,不会。 13 多线程用过哪些,chm和countdownlatch在实习用过 14 不得不吐槽下今天牛客的视频网速,不知道啥原因卡的一比,明明下载网速很正常啊,牛客视频每秒才20k。。疯狂掉线搞得很蛋疼。 二面: 1 自我介绍 2 Java 的集合类哪些是线程安全 3 分别说说这些集合类,hashmap怎么实现的,扯了很多 4 MySQL 索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。 5 MySQL的事务隔离级别,分别解决什么问题。 6 Redis 了解么,如果Redis有1亿个key,使用keys命令是否会影响线上服务,我说会,因为是单线程模型,可以部署多个节点。 7 问我知不知道有一条命令可以实现上面这个功能。不知道 8 Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么,不清楚。 9 Redis的list是怎么实现的,我说用ziplist+quicklist实现的,ziplist压缩空间,quicklist实现链表。 10 sortedset怎么实现的,使用dict+skiplist实现的,问我skiplist的数据结构,大概说了下是个实现简单的快速查询结构。 11 了解什么消息队列,rmq和kafka,没细问 12 写题时间到。第一题:写一个层序遍历。 13 第二题:写一个插入树节点到一颗排序树的插入方法,使用递归方式找到插入位置即可。 14 第三题:一个有向图用邻接矩阵表示,并且是有权图,现在问怎么判断图中有没有环。 15 我说直接dfs走到原点即为有环,刚开始写的时候我又问了一嘴是不是只要找到一个就行,面试官说是的,然后我说这样应该用bfs,有一次访问到原节点就是有环了。 16面试官问我不用递归能不能做这个题,其实我都还没开始写。然后我就说没有思路,他提示我拓扑图。我没明白拓扑图能带来什么好处。现在一想,好像当访问过程中找不到下一个节点时就说明有环。做一个访问标记应该就可以。 17 第四题:一个二叉树,找到二叉树中最长的一条路径。 我先用求树高的方式求出了根节点的左右子树高度,加起来便是。 18 然后面试官提示需要考虑某个子树深度特别大的情况,于是我用遍历的方式刷新最大值,用上面那个方法遍历完整个树即可。 19 面试官说复杂度比较高,但是由于时间问题就说结束了。 三面: 三面的面试官真的高冷啊,不苟言笑就算了,我问他问他他都不爱搭理的,搞得我内心慌得一比,感觉凉凉。 1 介绍一下项目 2 你谈到的并发技术,chm和countdownlatch怎么使用的 3 为什么要这么处理,使用线程池是不是也可以。我说也可以 4 操作系统的进程通信方式,僵尸进程和孤儿进程是什么,如何避免僵尸进程,我说让父进程显示通知,那父进程怎么知道子进程结束了,答不会。 5 计算机网络TCP和UDP有什么区别,为什么迅雷下载是基于UDP的,我说FTP是基于TCP,而迅雷是p2p不需要TCP那么可靠的传输保证。 6 他说不对,我说是不是因为要建立连接,开销比较大,他说不对 7 我说p2p的发送节点很多,所以不是那么需要各种传输保证,他说不对。 8 我说TCP会自动分包而TCP可以自己定义数据长度。。他还是说不对。 最后他说算了。我们问下一个吧。 9 操作系统的死锁必要条件,如何避免死锁。 10 写一个LRU的缓存,需要完成超时淘汰和LRU淘汰。 我说用lhm行不行,他说用linkedlist和hashmap可以。 于是我就写了put和get函数,进行了队头队尾操作。 他说get复杂度会不会太高,我瞎掰了半天没找到办法,他说那就这样吧,今天面试到这。 11 妈蛋,过期淘汰的处理我还没写呢,你就说结束了,感觉凉了啊,我说我要不要把剩下逻辑下完,他说不用,心凉了一大截~ 12 然后HR小姐姐让我等结果了。溜了溜了 面试题到这里就跟大家介绍完了,下面跟大家分享一下我总结的架构师进阶路线(进阶架构师方向思维导图,建议收藏)   针对架构图谱录制讲的一些视频资料   在技术上面想提高自己的朋友可以加群828545509,获取免费架构资料,同时群内有开发多年的架构师大牛在线答疑解惑,和行内的各类精英互相交流。
以上所述就是小编给大家介绍的《头条后台研发面经(共三面)+架构师进阶路线分享》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Building Websites with Joomla!
H Graf / Packt Publishing / 2006-01-20 / USD 44.99
This book is a fast paced tutorial to creating a website using Joomla!. If you've never used Joomla!, or even any web content management system before, then this book will walk you through each step i......一起来看看 《Building Websites with Joomla!》 这本书的介绍吧!