C++
2.vector如何扩容?(答:二倍扩容),扩容可以直接加在后面吗?(答:不可以)
3.用过map吗?(答:键值对),和unordered_map的区别?(答:查找速度不同 unordered_map O(1),map O(lgN)),为什么不同(答:底层数据结构不同),底层数据结构是什么?(答:红黑树),不是问map,问的是unordered_map(答:不清楚 其实是map是红黑树,unordered_map是哈希表)
计网
6.了解计网?(答:对),浏览器输入一个地址,发生了什么?(答:DNS,TCP,HTTP,TLS),没有了吗?(答:IP?ICMP?后面的不清楚 还有ARP),知道MAC地址和IP地址的区别吗?(答:一个是物理地址,用来标识一台计算机,一个是网络层的地址),可以只有MAC地址吗?(。。。。不清楚,可能可以吧 应该是不可以,IP要用来划分子网,如果只有MAC地址无法根据子网划分找到确定的主机),那linux下关于网络的指令用过吗?(ifconfig ping netstat route),如何查看内存?(top)
OS
7.了解操作系统?(答:对),讲一下多进程和多线程的区别(资源分配,创建和切换难易),你提到了上下文切换开销不同,具体上下文切换要保存什么?(寄存器,程序计数器,虚拟地址,栈,全局变量),进程的哪些资源是线程共享的?(堆,静态数据,代码段),还有呢(全局变量。。。。想不起来了 其实还有文件,地址空间,子进程,注册的信号等),那多进程相比多线程有什么优势?(隔离性好),还有呢?(多线程的一个线程挂掉可能会导致所有线程挂掉。。。。不知道了 还有减少线程加锁解锁的性能损失,可以拥有理论全部地址空间等),僵尸进程?(父进程没能为子进程善后),孤儿进程?(父进程先于子进程退出),如何创建进程?(fork vfork clone),如何创建线程?(不清楚 pthread_create)
8.学过网络编程吗?(没有)
数据库
9.项目里用到MySQL,那MySQL索引?(不了解),事务?(只知道commit之后是一个事务),用过吗?(用过)
10.redis也用过?(redis别问了。。。。)
项目
11.做过项目里的亮点
12.如果公司和导师同时有任务,怎么处理?
13.有什么想问的吗?
全部评论
(9) 回帖