For The Best Thing In The World

Work Hard to Enjoy Them. bloom energy

Akuna全部面经,bar很高

首先做了笔试题, 我觉得笔试题非常好, 才对公司有兴趣的. 笔试题忘记了


二面

全程英文,问了很多问题

  1. 算法,判断一个数是否power of two的方法 这个有多种办法,不断除以2是最笨的方法;还可以用二进制,直接&1判断最后一位是不是1;还有利用 C 语言库函数等等;

  2. quicksort过程,平均,最差时间复杂度,例子是怎么样 这个也很好说

  3. 调用函数的汇编代码;

  4. 如果有很多参数,register存不了怎么样;
  5. 32位的汇编跟64位有什么区别?
  6. smart pointer是怎么样的,为什么可以这样
  7. share pointer跟unique pointer有什么区别;
  8. segment,section在程序中是怎么分布;
  9. nmap映射的是程序的什么;
  10. IPC的方法, 共享内存的缺点,什么方法是reliable的;
  11. TCP,UDP的区别,优缺点;
  12. TCP肯定不会有data loss吗?
  13. 为什么TCP稳定;
  14. gdb怎么调试多线程,怎么看程序栈;
  15. 多线程怎么保证线程安全,知道spin lock是什么吗?怎么实现;condition_variable有哪些API;dead lock是什么,有哪些方法去解决。
  16. Linux怎么创建儿子进程; Linux调用system call的过程;为什么进入kernel space; 调用system call优缺点;
  17. tcp中send的block跟unblock方法有什么区别
  18. 虚函数是什么,有什么用,为什么需要虚函数destruction;
  19. C++11中怎么表示原子变量;
  20. 汇编中有一个方法用来保证原子性交换变量,是怎么样的?
  21. 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的区别是什么.