首页 > 字节后端-基础架构C++——一面(已过
头像
CharmsGraker
编辑于 2022-03-30 15:25
+ 关注

字节后端-基础架构C++——一面(已过

2022-3-28 基础架构C++一面

害。被暴捶。面试官一看就非常厉害。。。而且人十分nice。。
在协程那方面问了很久。但聊的比较开放,这一块面试官的引导非常nice。。。
进程和线程的区别?
我本来想答八股文,但感觉这样不太好。。于是就说了LInux的线程和进程差别不大。。。然后线程会共享进程的内存描述符、文件描述符之类的。。。
那你能说说线程会共享内存吗?
我斩钉截铁的说会。。。

协程方面

有用过协程吗?知道协程吗(没,知道一点。。。)
你能说说协程是怎么实现的吗?(因为自己作死,把协程和线程对比说了说。。说协程可以在用户态切换。
你说说协程怎么切换的吗(我说需要用yield,然后面试官逮住。。。你刚刚说协程不需要系统调用呀)
然后我开始bala了一堆。。试图极力解释可以我们自主放弃,而不是等待cpu来调度之类的。。

epoll相关

说下ET和LT
你能说说什么是惊群效应吗?
你能说说怎么避免惊群效应吗?(等待队列只唤醒一个,他说这是内核后来的做法)
你能说说早期内核怎么处理惊群效应的吗?(可以用锁?
嗯可以,如果用锁的话该怎么实现呢?
我说如果监听的事件是在文件上,那么就可以获取文件描述符上的锁,每个进程操作前应该检查其锁标记。(ok,然后就下一个了,我也就没说了

怎么查看cpu占用率?(top
代码有bug你是怎么知道的(啊吧啊吧。。

C++

此处问了两个C++的进阶问题。
第一个是说如何理解Substitution failure is not an error(只听懂了单词,根本不知道这个是啥。
第二个好像是什么函数有没有用过。enable_xxx啥来着。。
事后查了一下,应该是说的enable_if

你能说说模板特化吗?
你能说说move函数吗
你能说说左值右值吗
我有一个string右值,你能说说它调用哪个构造函数吗?我说有移动构造则调移动构造,没有则拷贝构造。

一个可执行文件有哪些段?(一直在想其他那三个。。把堆和栈给说漏了。。最后补了)

你知道什么是RAII吗?(我逗逼的把中文名给说了一遍,把面试官逗笑了,绷
算法题目:
题目一:咱们来写个RAII的题目吧。开始没看清题。。说是用unique_ptr实现RAII...然后我直接说不会,面试官好像很无奈。。
题目二:写一个模板特化函数printType<T>,当T是int输出"I am int",其他则输出"I am others"。这个没啥好说的。
题目三:咱们来写个简单的题目吧。二叉树的中序遍历。你知道什么是中序遍历吧。
能写个非递归的吗?(此处开始坐牢。。。
改了半个小时得有。。算是把面试官给的case给过了。。。
然后就结束了。

全部评论

(15) 回帖
加载中...
话题 回帖

近期热帖

近期精华帖

热门推荐