字节跳动后端一面凉经

字节跳动-商业智能部门-后端

主要开发语言Go/Python

所以问了Go/Python的一两个问题,全部不会,然后问了下简历中的项目情况,实习中印象中比较深的业务经历


一面

数据库

一对一、一对多、多对多怎么考虑(分析微博、关注、评论、点赞)主要这里卡得比较久

innodb特点

数据库事务隔离级别

脏读、不可重复读、幻读


计算机网络

TCP怎么保证可靠传输(我答了拥塞控制、延迟ack)

滑动窗口

多线程下载为什么快,主要影响了哪个阶段,某个线程发送失败,重传会影响其他线程吗

————————————

3个网段

192.168.1.0/24

192.168.2.0/24

192.168.0.0/16

给个IP地址

192.168.1.5

它在哪个网段?

————————————


算法

给出一个ip地址,如何匹配最优的网段

192.168.1.5同时在192.168.1.0/24和192.168.0.0/16,它的最优解是192.168.1.0/24,因为它比192.168.0.0/16更具体。

主要是讲下思路。

一开始nc了,说用二维数组存储网段,然后遍历匹配(先遍历24的再遍历16的)

然后面试官提示可以优化到O(1),问我用什么数据结构,我就答hash,然后在他提示下写出部分代码和思路

大概是这样子:

Map<String, String> map = new HashMap<>(3);

// 数据处理一下,如果是24结尾就put3组,16结尾put2),大概是下面这样子

map.put(“192.168.1”, “192.168.1.0/24”);

map.put(“192.168.2”, “192.168.2.0/24”);

map.put(“192.168”, “192.168.0.0/16”);

// ip地址处理下,先保留3组查看是否存在,再保留2组查看是否存在,

// 192.168.1.5

String ip = “192.168.1.5”

If(map.get(“192.168.1”)!=null){

//找到了输出结果

}

else if(map.get(“192.168”)!=null){

//找到了输出结果

}

else{

//没找到匹配的

}


总结

时长1个小时左右,只记得这么多,应该也有80%-90%。太久没面试了,有点紧张导致有时候脑子一片空白,计算机网络ip地址哪些不是很擅长,比如24or16这些都是自己推理出来是网段长度,过后感觉难度是不大的,应该是凉了。Java相关准备比较多,其他语言没有准备。面试体验还是不错的,面试官挺有耐心的,在一对一、多对多的问题上我自己都想送自己飞机票了。anyway,祝大家顺利。


#字节跳动春招凉经##字节跳动##golang工程师##Python工程师##校招##面经#
全部评论
请问一下是收到拒信了嘛
点赞 回复 分享
发布于 2020-04-24 14:35

相关推荐

不愿透露姓名的神秘牛友
07-25 17:51
点赞 评论 收藏
分享
评论
1
19
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务