字节跳动 后端提前批一面凉经

被虐的不轻。。。面试官也是一脸不耐烦,估计是因为我太菜了。。。
1.怎么实现一个先进先出的队列。
一开始说记录好第一个进去的值的index就好了。
后来问如果有大的数据量了怎么办。
想了半天才想到链表。
然后就是链表的时间复杂度。
然后问试过按照优先度输出怎么做。
我回答可以用TreeMap来装在链表,key是优先度。
然后追问TreeMap怎么来的。 红黑树。
红黑树怎么回事? 因为我上数据结构课的时候老师光讲AVL树了,我只知道红黑树是基于AVL树的。
然后面试官估计看我这么菜,也不接着问了,直接跳过。
2. 如何找到第K个最大的数值。
想到了排序。然后追问用什么排序,我就说快排。
然后问了快排怎么实现的,时间复杂度。
时间复杂度我巴拉巴拉说了一堆,为什么是T(n) = 2*T(n/2) + n,然后根据主定理得出nlogn。
然后。。。问我为什么?我真的一脸懵,是要我解这个式子吗。。。
然后继续追问有没有别的方法。。。更懵了,想了半天估计看我太菜直接跳过了。
3.线程和进程。
背的还行,但是没想到。。。又问我一个并行和并发的区别。线程底层如何实现内存共享。
没学过计算机操作系统的我。。。。直接跪了啊,只能含泪说我没学过。。。
4.C++内存结构
5层答出来了。
追问const的赋值怎么更改。
不是不能改吗???我真被问得一脸懵。
然后面完特意去搜了一下,修改内存地址的值还行。。。。。真的跪了
然后没了!!!没有手撕代码!!直接让我问问题,我都不知道问得什么鬼问题。。。不重要了,肯定凉了。。
#字节跳动##秋招##面经##C++工程师#
全部评论
const-cast你可以区了解下
点赞 回复 分享
发布于 2019-07-16 12:17
base北京吗?
点赞 回复 分享
发布于 2019-07-16 11:19
楼主,面完之后,HR会告诉你凉了吗?
点赞 回复 分享
发布于 2019-07-16 11:21
😂好像基础是要再补一补
点赞 回复 分享
发布于 2019-07-16 11:56
线程不是本身就是内存共享吗😂这个怎么回答啊
点赞 回复 分享
发布于 2019-07-16 15:47
啥时候推的?
点赞 回复 分享
发布于 2019-07-16 15:48
线程底层实现共享?线程最终调用clone的时候会设置共享地址空间,会用CLONE_VM标志,线程会指向同样的mm_struct结构体
点赞 回复 分享
发布于 2019-07-16 16:03

相关推荐

点赞 57 评论
分享
牛客网
牛客企业服务