为了保证制作简历的安全性和流畅性,建议您使用Chrome浏览器进行访问
千余 华东政法大学·2022届
APP 内打开
分享
9
17

字节跳动Java开发社招二面凉经

一面

算法题

二叉树中和为某一值的路径;

股票的最大利润;

SQL 题。

总结:两道算法题剑指 offer 上都有,我面试的时候第一题写出来了,第二题不要求写代码,就说思路,我刚开始说了一种暴力解决的方法,时间复杂度 O(n2) ,后面面试官问有没有 O(n) 的算法,后来想了一下也回答出来了,都不算难。SQL 题挺简单的就不说了,但也提了个醒, SQL 题也可以去做做,就不知道别的厂子会不会有 SQL 题,希望大家评论区分享一下。


我 19 届毕业,感觉社招的算法题比校招会轻松些,最大的感受,社招算法题不需要运行 ac ,面试官看看思路就好了。(ps:也可能是就才面了头条,不知道别的厂子是不是这样哈)。


面试题

用 id 做主键和用手机号做主键,怎么选择;

聚簇索引和非聚簇索引的区别;

怎么实现分布式锁;

redis 怎么实现分布式锁;

redis 为什么速度快。

总结:原谅我记性太差了,可能还问了别的,想不起来了,但主要就问了些数据库的知识,而且也不难,准备的很多都没问。

一面总结

一面感觉面试官很和蔼,感觉就年龄差不多。举个栗子,问我 用 id 做主键和用手机号做主键的区别 的时候,我第一反应说了一句:"用手机号做主键 B+ 树高度相对要高,你懂我意思吧 😂",面试官笑了笑说:"我 get 到你的点了,但需要你说的再具体一点"。


二面

算法题

输出一个比输入字符串刚好大的字符串,例如 1234 -> 1243 /微信群抢红包。

SQL 题。

总结:面试官刚开始问我的算法题是 输出一个比输入字符串刚好大的字符串,我刷题太少了,这道题没见过,然后想了大概两分钟,面试官说如果没思路就换一个吧,所以就换成后面那个 微信群抢红包 的题了,这个的实现网上也经常看到,不难。


面试题

Dubbo 容灾有哪几种,说一种的使用场景;

ES 怎么容灾的。

总结:Dubbo 容灾,我认为是 Dubbo 的 9 种容错机制,failover、failfast、failsafe 等,如果不是这些的话,希望大家下面评论区予以指正。容错机制这些其实我知道,但是讲的有点啰嗦感觉。然后 ES 的容灾,我说的是用分片和副本分片来实现的,不知道对不对,同样不正确的希望予以指正。

二面总结

二面完了,面试官跟我说谢谢参加面试,我就知道凉了。

整体总结

还是重视基础,特别算法题还是要多刷;

我经常表达的不够简练,有些部分讲的有点啰嗦。



发布时间:2020年08月03日
用户头像
我来说两句…
共 9 条评论
许一世地老天荒 华中农业大学·2022届
id和手机号当主键的原因是不是,手机号无序在更新的时候导致聚簇索引页分裂,而id为主键的话是有序的。另外id的长度一般比手机号要断,这也符合当主键的特性
2020年08月09日 回复
张泽奇 长沙理工大学·2022届
感觉是不是应该用id做主键回答 mysql新增数据顺序插入问题啊
2020年08月15日 回复
宁遥遥 莫纳什大学·2022届
我思考了一下 我今天参加的面试 面试官没有和我说谢谢😂
2020年08月19日 回复
司洪亮 广州大学·2022届
用id做主键和用手机号做主键,我觉得应该是这样,id自增:有序,手机号无序。我们使用MySQL,选择InnoDB引擎的时候,有且仅有一个聚焦索引,聚焦索引的逻辑顺序和物理顺序一致。所以当我们新加数据时候,我们如果采用手机号作为主键,则B+树会产生页分裂,同时会产生内存碎片,加之索引调整需要代价,所以用手机号作主键不合适。而当我们用id作主键,id自增,就没有上述问题了。  主语你回答的B+树高度更高。可能是出于每页保存的元素而言,手机号码占用空间更大。但是总体来说,B+树在MYSQL引擎里面最后的高度基本都是2-4层,IO次数基本没有什么区别。4层B+树,可存百万级别以上数据
2020年08月13日 回复
果笔跳跳
额,没有问项目吗
2020年08月20日 回复
夏末__初凉 北京理工大学珠海学院·2022届
老哥,内推的吗?
2020年08月20日 回复
︶ㄣ美女子° 多伦多大学·2022届
楼主为啥问的都是分布式方面的问题
2020年08月09日 回复
小小星 墨尔本大学·2022届
请问抛硬币那个应该怎么处理啊?
2020年08月08日 回复
Lee先生 南京财经大学·2022届
加油老哥
2020年08月06日 回复