Akuna全部面经,bar很高
原文链接 http://yonghaowu.github.io/2016/08/01/Akuna_bar/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
首先做了笔试题, 我觉得笔试题非常好, 才对公司有兴趣的. 笔试题忘记了
二面
全程英文,问了很多问题
算法,判断一个数是否power of two的方法 这个有多种办法,不断除以2是最笨的方法;还可以用二进制,直接&1判断最后一位是不是1;还有利用 C 语言库函数等等;
quicksort过程,平均,最差时间复杂度,例子是怎么样 这个也很好说
调用函数的汇编代码;
如果有很多参数,register存不了怎么样;
32位的汇编跟64位有什么区别?
smart pointer是怎么样的,为什么可以这样
share pointer跟unique pointer有什么区别;
segment,section在程序中是怎么分布;
nmap映射的是程序的什么;
IPC的方法, 共享内存的缺点,什么方法是reliable的;
TCP,UDP的区别,优缺点;
TCP肯定不会有data loss吗?
为什么TCP稳定;
gdb怎么调试多线程,怎么看程序栈;
多线程怎么保证线程安全,知道spin lock是什么吗?怎么实现;condition_variable有哪些API;dead lock是什么,有哪些方法去解决。
Linux怎么创建儿子进程; Linux调用system call的过程;为什么进入kernel space; 调用system call优缺点;
tcp中send的block跟unblock方法有什么区别
虚函数是什么,有什么用,为什么需要虚函数destruction;
C++11中怎么表示原子变量;
汇编中有一个方法用来保证原子性交换变量,是怎么样的?
signal是怎么样的,有什么用;
最终面
template<int size> pow()//实现这个功能
1.
vector<stirng> my_string= {"hello", " ", "world"};
string &a = my_string[0];
输出a的内容会是什么
2. read(fd, xx)直接读取文件内容与nmap fd后memcpy的区别是什么.