一共四面,两个岗位都挂在二面
后段开发-Helo岗
一面:
面试官很温和,蔫蔫的宅男的感觉
八股文部分有些久远印象不深了,都是基本的八股文题目,此外
B+树了解么?
数据库中查找某一个范围内的值在底层B+树上是怎么执行的?
手撕代码:
1. SQL:查询成绩第二大的name
2. 二叉树的蛇形遍历
3. 一个只有0,1,2的数组通过遍历一次进行排序
以上都是Leetcode原题,不难,面试过程当中也撕出来了
代码题都做出来了,问题也答的还凑合,就过了?
二面:
一名女面试官,连摄像头都没开,态度也很冷漠
提问以后段相关为主:
Mysql数据是怎么存的?
Cookie和Session讲一下,有什么区别?好处和坏处是什么?
慢查询了解么?
数据库的隔离讲一下?
手撕代码:
1. 股票一次买卖最大收益
2. 顺着上一题,股票多次买卖的最大收益
都是Leetcode原题,第二题反而更容易
代码部分其实很容易,做出来了但是当时有点磕磕绊绊所以不算很好,问题部分很多数据库的答得不好,甚至有的都没了解过(慢查询)。因此整体上表现偏差吧,挂了
二面挂了没两天被另一个部门的HR捞起来了
算法岗
一面:
又是一个很温和的面试官:
进程/线程的状态转换
TCP建立和断开连接的过程(三次握手与四次握手)
TCP和UDP的区别
对TCP和UDP的应用分别举例
死锁的概念 & 如何应对
手撕代码:
1. 长度为N+1的数组存储数字1-n(有一个是重复的),O(n)时间O(1)空间找出这个重复的数字
2. 二叉树子树判断:两个二叉树m,n,判断n是否是m的一部分(即子树)
3. 找到最长递增子序列(Leetcode-300)
问题都是经典八股文,十分友好;代码部分也不难,我没刷过第三个没有完全做出来,不过整体发挥还不错(问题也都偏容易
二面:
面试官也算温和,不过鸽了我20分钟才来
先稍微聊了一下简历中的实习项目经历,然后提问:
Python yield关键字讲一下
Python多线程编程有了解么
Python是怎么实现dictionary(也就是哈希表)的,我没看过源码于是说了一下单纯数据结构层面的哈希表
哈希表存入和查询数据具体是怎么实现的?
出现地址冲突怎么解决?
Java的hashmap有了解么
Linux如何查询一个被占用端口对应的进程ID
Linux如何查看CPU和内存使用情况
Linux如何查看一个文件夹占用的磁盘空间
手撕代码:
1. 查找第一个缺失的正整数(Leetcode-41)
2. 开放设计题:
头条里有各种计数需求,我们希望能够有一个统一的计数服务来满足该需求,主要功能要求根据业务需求查询指定的文章的计数统计(播放数,阅读数,评论数等),要求:支持实时更新各种计数,支持高并发查询,需要给出系统存储设计方案,对外输出接口设计
问题和代码表现的都一般,八股文部分还好主要是Linux那几个问题没准备几乎就是没答上来,代码第一题能做但是没想出O(n)的做法,第二题这个方向了解也不多只说了简单的Cache的思路,僵硬
再次挂在二面,确实是自己要学习还有很多,没啥毛病,欣然接受
ps: 听说字节总有反复捞起来面的操作,身边同学有几个面了不同岗位加起来6-10次的(不过面了10次那个被录了),不知道还会不会被别的部门捞,全当学习了。
全部评论
(4) 回帖