字节跳动效率工程后端面经
lz从11月中开始就在开始找寒假实习,正好头条效率工程团队来我们学校笔试招20届的实习生,抱着试一试的心态就去了,毕竟宇宙条。
笔试比较简单,手撸三道算法题。面试的话也许面试官看我是大三的学生,问的问题都比较基础,但是最终还是没有过,还是自己太菜了,下面就开始po题目啦
一面:
-
有一个岛,岛上有 n 只老虎和一只羊,老虎会吃羊,但吃完后会变成羊,请问,这只羊最后能活下来吗?
条件:
-
老虎生存为第一要义
-
老虎在生存的前提下尽可能的吃羊
一开始没有搞懂题意瞎说了一通,被驳回之后用1,2,3,4依次代入了一遍,发现答案其实很简单:奇数能存活偶数不能
-
给你一个数组,数组长度为 n。请找出数组中第 k 大的数
n, A[i] int 范围内
附件条件:不允许改变元素在数组中的位置。
一开始想都没想就先说了用partition的思路,面试官听了之后加了一个附加条件...就完全没思路了,最后问了提示:“给你一个数你能找到是数组的第几大吗?”,才想出来并实现
思路就是在int范围内取中位数,算出其在数组中是第几大元素,与k比较并不断二分
-
TCP三次握手
-
Http协议是一个无状态协议,那么有什么方法可以让用户保留登录的状态?
又问了问看过Http的哪些书?答:《图解Http》和课本..low了点,面试官见状就不再问什么了
-
接下来又问了问学习成绩,学没学数据库操作系统什么的,数据结构熟悉哪些,也没什么技术上的问题就说可以了
二面:
很奇怪的面试..没有打一行代码,全都是口述问题,还夹杂了一堆非技术问题
-
现在在上什么课程?
-
问一下项目和具体的算法,调库还是手撸
-
B+树的原理
-
单向链表和双向链表的原理和特点、使用中(增删查)的优缺点
-
如何实现一个栈的类和对应的API
-
C++的内存管理和回收的原理
-
索引的类型,什么是联合索引,使用联合索引时需要注意什么
-
关联查询用的关键字,左连接和右连接的概念,分别用到什么关键字
-
内连接和外连接
-
冒泡的实现和优缺点
-
成绩的排名,平时时间安排,毕业之后的规划,找工作的目标,对互联网的看法,互联网有哪些大平台和产品,接触比较多的产品,各自的特点,抖音为什么会这么受欢迎,最希望做的产品的类型,需要用到什么技术,平时的兴趣爱好,会关注哪一些比较感兴趣的技术领域,在看什么方面的资料,哪里人,实习时间,课程多不多,为什么想这么早出来,用三个词形容自己,相应的事例