字节测试开发岗面经
一面:
KMP算法
多态(强制类型转换多态,包含多态,参数多态,重载多态)
包含多态:C++虚函数,虚表,虚指针(类对象所有),为什么虚基类的析构函数必须是虚函数?
问我熟悉什么知识,我说的是计算机操作系统:
(还问过我会抓包吗?之前学python爬虫时学过简单的,但因为当时不会网络知识所以后面没怎么搞,就说的不会)
Linux系统的信号机制,让一个程序进程运行在后台成为守护进程(这个东西我目前的理解是,先脱离当前的bash进程以及它的进程组和会话组,成为孤儿进程,被init进程接受),还
说了避免被进程被杀死先使用&将进程放入后台,避免直接的Ctr+C(SIGSINT信号),Ctr+Z(SIGINT信号),但依旧是bash下的子进程,再通过nohup命令去脱离(这个nohup我看到有的博客说
是免疫bash进程关闭时发生的SIGHUP信号,后面我自己再去学习)
讲了CPU的虚拟化从而实现多进程(好吧就是多进程调度),我说的是多级优先反馈队列。
本来后面还想和面试官聊内存分页和虚地址空间啥的。。
算法题:除了上面的KMP,还问了堆排序和快速排序的实现,最后实际敲了一道简单的算法题(太简单了,没参考价值)
二面:
记得不多了,算法题:给定一个整形一维数组,求数组中的最小正整数。
问了一下一个点赞功能出问题该如何去发现是那里的问题?
三面:是问项目,和出了一个项目考察我如何实现(我被问到的是设计一个12306的两地高铁当天通车车次表功能实现)
我当时问了是否中途有转车?是否包含时间流程?同一辆车是否是会一天之内重复出现?
也问了一个和二面一样的功能问题,只不过变成了web淘宝的收藏功能按钮,点击以后收藏的数字没变,但功能按钮变了,问为什么?
我当时说可能是网络问题(当时趁机问我如何在linux服务器上抓包?我一面后刚好复习了,tcpdump命令),JS代码问题
#字节跳动##测试开发工程师##面经#