【秋招】字节测开一面

昨天面的

原本是中午三点面的,面试官那边好像突然来了🐛,然后HR改约晚上9点(原本约7点,7点正好在面另一家,就推迟了)

由于视频面,有些不太重要的问题我就不记得了,下面就记录下我记得的东西:

整体面试感受是我面过最好的,不会的题目面试官会给予引导,实在不会也不会难为,一些闪光问题我会简单提下思路。

1. 面试官先道个歉说中午咕咕咕了。
2. 然后面试官就先自我介绍了(没错,是面试官在自我介绍,介绍完了直接问问题,没有让我自我介绍,我投的北京,但面试官是深圳头条的,好像面试官都是跨域分配的)
3. 简历的项目聊了15~20分钟来着,主要是针对项目中用到的技术栈、难点、漏洞进行提问,这块因人而异,我就不展开了,项目过后问基础。
4. 端口有多少个?为什么有这么多个?
5. 四次挥手?
6. 为什么中间的fin、ack要分两次?
7. 讲讲2msl、time_wait、close_wait?
8. 半连接队列、全连接队列?
9. 讲讲你了解的mysql索引?唯一索引、主键索引?唯一索引和普通二级索引区别?
10. 讲讲索引数据结构?mysql对B+树做了哪些优化?
11. 主从复制的原理?半同步复制?
12. 你常用的mysql版本多少?答:5.7
13. 讲讲5.7的并行复制?答:5.6是中继日志分库并行,5.7早期基于二阶段commit防冲突的思想,5.7后期在前期基础上做了再细分,即对更改的行进行hash,不冲突则可并行。
(还好这里没继续追问,不然就要拉闸了,细节我自己都不记得了)
14. redis的5种类型?
15. redis的sort_set底层都用到哪些数据结构?为啥不用B+树呢?
16. key-value用的什么数据结构?说说rehash过程?rehash期间的crud是怎么样的?rehash会带来哪些问题?
17. 现在有一个图片网站,让你设计一个缓存你会怎么做?(确认过不是CDN,就一个普通的图片网站)
  • 思路:实现类似Redis的LRU机制。
18. 可以结合实际场景再优化优化吗?场景随你挑
思路:
  • ①根据局部性原理,用户在点击一张图片后,他很可能会继续访问相邻的图片,我们可以加入一个随机预读、线性预读的方案,以及时缓存周围的图片给用户更好的体验。
  • ②但不排除有的用户只访问一张图片就拍屁股走人了,如果在这种情况下进行预读,就有可能导致整正被访问的图片缓存因LRU机制淘汰掉,而预读的图片却在之后无人问津,造成缓存命中率的下降,于是我们可以将缓存分为冷热两区。
19. 打断一下,分成冷热两区的意义是?
  • 思路:预读的数据先打到缓存的冷区,冷区的数据如果被访问到了,再升级到热区,这样做的意义在于可以防止预读的缓存过早地将用户访问的缓存刷掉。
20. 再想想有没有别的优化思路?
  • 思路:假设一种比较极端的情况 ,就是某个画师发了几张有颜色的图,引起众人围观,该缓存命中率到达99.999%(非常极端的场景),并且该画师的几张图一直在LRU的首部区域反复横跳。那么针对这种情况,我们设置缓存的前0%~10%部分的数据,即使命中了,也不需要发生交换,因为它们交换的意义不大,在缓存命中率较高的情况下,不过是来回交换tiwei罢了,怎么交换都不影响缓存命中率,省下交换还能节省计算机资源。
21. 还可以再优化吗?
  • 答:饶了我吧。
22. 来做做题
  • 不会,猝(面试官一直在给提示,可是我太菜,捞不起来,以为就此别过了)

本来以为最后算法拉闸了,没想到第二天早上还是收到二面邀请。

PS:我怎么不投开发?
  • 投了,简历半小时就挂了,怀疑人生。
#字节面试##面经##测试开发工程师##校招#
全部评论
这问的感觉不比开发简单啊
4 回复 分享
发布于 2020-08-26 08:28
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2020-08-25 22:56
楼主,校招字节可以投几次啊~~~, 比方说一个岗位挂了,还能投另外一个吗?
点赞 回复 分享
发布于 2020-08-30 18:52
你这挺饱满的,都是开发的问法。我也是开发转测开😂
点赞 回复 分享
发布于 2020-08-31 08:15
这是问的开发啊,哪是测试
点赞 回复 分享
发布于 2020-09-01 11:33
Mysql5.7的并行复制时从哪学的
点赞 回复 分享
发布于 2020-10-22 21:46
mysql对B+树做了哪些优化?请问楼主怎么答的,楼主好强!
点赞 回复 分享
发布于 2020-10-28 21:06

相关推荐

10-12 20:39
已编辑
虎牙_后端(实习员工)
9.30 一面:自我介绍Long \ long 的区别、默认值,int 和 long 的区别String \ StringBuilder \ StringBuffer 有什么区别?进程和线程有什么区别?索引的作用是什么?手写几个简单 SQL ,有用到索引吗,什么时候会索引失效?LEFT JOIN 和 INNER JOIN 有什么区别?Linux 如何查看一个 log 文件的内容?如何搜索文件里的内容?通过 uid 搜索 log 文件打印出来下面的堆栈信息?黑盒测试和白盒测试是什么?黑盒测试和白盒测试有什么测试方法?朋友圈点赞功能有哪些测试用例?还知道其他哪些测试方法?什么是缓存穿透、缓存雪崩、...
一笑而过2222:一、Java 相关 -  String 不可变,适合少量操作。 -  StringBuilder 可变、非线程安全,适用于单线程大量操作。 -  StringBuffer 可变、线程安全,适用于多线程环境。 二、操作系统相关 - 查看 log 文件内容可用 cat 、 more 、 less 命令。 - 搜索文件内容: grep "text" logfile.log 。 - 搜索 UID 并打印堆栈信息: grep "uid_value" logfile.log | awk '{print $NF}' 。 三、数据库相关 - 索引提升检索速度、保证唯一性,如 SELECT * FROM table WHERE id = 1; 可能用索引。 - 索引失效情况:索引列函数操作、 LIKE 以通配符开头。 -  INNER JOIN 返回匹配行, LEFT JOIN 返回左表所有行及匹配右表行,无匹配用 NULL 填充。 四、测试相关 - 黑盒测试关注输入输出,白盒测试关注内部逻辑。 - 朋友圈点赞测试包括点赞、取消点赞、并发点赞、刷新显示、网络异常等。 - 其他测试方法有灰盒测试、性能测试、安全测试等。 五、缓存相关 - 缓存穿透:查询不存在数据,解决方法有缓存空结果、用布隆过滤器。 - 缓存雪崩:大量缓存同时失效,解决方法是分散过期时间、用锁机制。 - 缓存击穿:热点数据过期时高并发请求,解决方案为加锁、设置永不过期。 六、算法相关 - 比较版本号按点分割成数组,逐位比较数字大小区分版本高低。
点赞 评论 收藏
分享
6 35 评论
分享
牛客网
牛客企业服务