字节跳动 后端实习生 面经 许愿offer
一面二面 3.19 三面 3.26
一面:
简短介绍自己
怎么判断两棵树结构相同? (描述)
刚刚你说了前序遍历和中序遍历,那么如果已知一个树的前序遍历和中序遍历怎么得到后序遍历?(描述)
括号问题,给一个整数n返回所有valid的情况。(描述)
有一个路由器,与其连接的所有机器的上行速度是1m/s,下行不限制,那么现在有一个文件大小为1GB存放在与路由器连接的一台设备中,想将这个文件传输到其他的n-1台设备,请问最短耗费的时间是多少,路由器没有内存。
熟悉的语言?Java和Python,区别有什么,还有python底层的代码有了解吗,是怎么用C实现的。(没太答上来QAQ)
现在有微信,让你设计朋友圈这个功能,就是你发出去的朋友圈可以显示在你好友的朋友圈中,你会怎么设计?
做个题吧:还是刚刚的括号,给一个字符串,返回最长的合法子串的长度。最长匹配括号子序列问题(只实现了n方的算法,但是有O(n)的)
打开一个URL建立连接的过程是什么样子的?
说一下TCP为什么是三次不是四次呢?
二面:
介绍自己的基本情况,还有项目
下面聊一下数据结构吧 -- 有什么排序算法是O(NlogN)的 -- 归并和排序。那他们都各自有什么优点和缺点呢?-- 和面试官互动中聊了一些,比如稳定性,当数组比较大的时候。
栈有了解过吗~他的两个基本操作是什么?pop和push。时间复杂度是?O(1) 那么现在让你实现一个数据结构,有三个方法,一个是pop,一个是push,一个是返回最大值,要求时间复杂度都是O(1),空间复杂度不设限制你有什么想法呢?(没想出来……面试官给了提示也没想出来,后来直接告诉我答案了= 。=)然后问了一个follow up,怎么pop
树这个数据结构有了解过吗?那么除了二叉树,多叉树有没有了解?我就说到了B树和B+树。为什么用B+树而不用B树呢?
B+树是用于数据库里面储存什么的呢?索引。那么我现在有一个列是性别,男女未知,给这一列建立索引合不合适呢?
现在有两个客户端A和B,A可以直接调用B,但是现在我们想要通过中间的一个代理人,实现A对B调用的延时。而且这个代理人可以同时代理多个任务,怎么办?
操作系统有学过吗?(没上过课自学过一点的) -- 那不问了
说一下数据库吧 -- 事务有了解吗~事务的隔离级别?挑一个你比较熟悉的说一下怎么实现的(说到行锁就喊停了)幻读和脏读的区别?
做个题吧:2D array找数字对应的坐标。从左到右,从上到下是从小到大排列的。如果没有返回(-1,-1)
三面:
前面聊了一些简历内容,怎么学习呢,毕业时间,之前实习都做了什么?
考你一个金融问题吧。PE是什么。
最熟悉的语言是什么? Python啊啊啊感觉应该说Java的。说一下Python的装饰器吧 -- 感觉说的不太好,说了装饰者模式,举了个例子
线程安全聊一下~~是怎么实现的呢?底层有了解过吗?
有一个int的数组,里面有各种数字,找到第一个不存在的正数。最小的时间复杂度和空间复杂度。先是排序,问了写有的没得
设计题:停车场管理,要求实现停车计费和空余停车位这样的功能。
写一个链表题目吧,挺简单的。查了一下leetcode25,是个Hard??没做过我就。。写了半天才写出来QAQ,指路这个帖子👇,还是把面经出现的题好好刷一遍最为妥当。
https://www.nowcoder.com/discuss/377141?type=post&order=time&pos=&page=2&subType=2
还问了一些啥我忘却了,但是没有问计算机网络和数据库的内容。(应该吧。。。)
3.27补充 -- HR面试:
期待OFFER