还好没放弃,终于等到你,字节跳动
等了12天,终于等到了意向书的电话
7月7号一面,一个小时,自我感觉不太好,以为凉了,结果过了几天通知12号二面。二面感觉回答的挺好,然后17号进行了第三面。之后就一直在等消息,期间问了HR很多次,HR说耐心等,就算面试过了审批offer也需要花时间。然后直到今天上午,终于等到了电话。以为是hr面,结果直接说我面试通过了,岗位是后台开发,大部门是Data数据平台部,中台啥的,然后问了我的身份证号说一会发意向书,接到电话还是很开心,很激动的,电话全程不到三分钟。
下午看了一眼QQ邮箱,发现躺在垃圾邮箱里。。。
接下来说一下我的面试过程,回馈牛友。
一面 7.7 一个小时 (题目真的记不清了。。)
- 自我介绍
- 简单介绍项目,项目来源,我的项目是一个流式推荐系统,然后问如果海量数据进入服务器该怎么处理
- TCP三次握手过程
- linux系统inode相关
- MySQL用过吗,讲一下索引类型,innodb中索引的数据结构,为什么用b+树,sql语句执行很慢怎么办(首先用explain分析语句,查看执行计划),然后给了个场景:
一个表table,有索引 a 和 b, 有一个查询, select * from table where a = 1 and b = 2,问这个会用到索引吗,如果会的话会用到a还是b,还是说a和b都会用到
其他想不起来了。。。
OneNote出了问题。。。
4. 最后是一个代码题:最长不重复子串
二面 7.12 一个小时
一上来没有自我介绍,扔了个题给我
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 (剑指offer原题)
- 给定一个数组,存储着按照时间排序的股票价格,第n个位置的元素为第n次交易时的股票价格;现假设只允许你进行一次买,然后在某一时刻卖出(单只股票),请设计算法,求解你可能获得的最大收益,如果股价是非增的,则收益为0。 (leetcode原题)
我写完后给了我一个测试用例,让我跑。 - 我们可以用 21的小矩形横着或者竖着去覆盖更大的矩形。请问用 n个 21的小矩形无重叠地覆盖一个 2*n的大矩形,总共有多少种方法?写出您的代码 (好像也是剑指offer原题)
三道题写完40分钟过去了。 - 100亿个无符号整数,取最大的100个,内存有限。(BitMap)
- 有没有用过mysql?索引实现的数据结构?为什么用B+树?我说叶子节点存放数据,而且用链表连接起来,方便范围查询,而且树高度不会很高,减少了查询次数。然后他直接问我,没说到点子上,为什么减少了查询次数。我想了下,说了磁盘预读取原理,mysql存储引擎读取一条数据的时候,会把这条数据所在的块周围的块都读取进来,减少磁盘IO。他说这才是他要的答案。。。
- 了解操作系统的页吗?进程和线程的区别,我说了几点,好像不太满意。其中一点我说的是线程共享进程的内存空间,面试官问是共享所有的空间?我说没有深入研究过。我还说了它们上下文切换的代价不同,面试官问由谁来切换(操作系统内核)。然后又问进程的通信方式。然后被问有没有用过共享内存。
- 知道https吗,说一下工作过程
- Java 里面 hashmap的底层数据结构?安全吗?怎么使它安全?知道concurrenthashmap吗?实现方式?
- 项目提问
- Spark工作原理
这个面试官很掐时间,整一个小时,一个问题回答到点上他会说ok,不然会一直追问。
三面 7.17 40分钟 (题目记的不太全)
- 自我介绍
- 本科物联网的,问我物联网和计算机专业有啥区别
- 说一下你对后台开发的理解
- 用过spring吧,springMVC流程?
- 设计一个关注系统,一个用户可以关注很多个用户,也可以查看自己关注的人的信息,数据怎么存储,数据库怎么设计,然后设计一套API,包含两个功能:关注某个用户,查看关注的用户的信息
url怎么设计 方法参数有哪些 怎么返回数据
我提到了redis可以进行服务器端的求交集并集操作等,还提到了设计url最好符合restful。。。 - 平时有关注哪些科技领域,在这些领域最近发生了哪些事?
- 手头有哪些正在看的书,或者还没开始看的书
- 遇到问题怎么解决
自我感觉三面挺差,尤其是设计关注系统那个题,然后以为凉凉,一直在等拒信,但是迟迟不来。
煎熬了12天,今天终于等来了意向书。也算是挺幸运的,也希望各位都能拿到一个自己满意的offer。
面试完了之后心态要放好,注意总结,不必太关心结果(说起了容易做起来难)。
你只管努力,其他的交给天意。
#leetcode##校招##Java工程师##字节跳动##面经##内推#