icon

2018-12-12

思勰面试

c++11 有哪些特性

答: auto, functional ...

lambda capture

答: 有两种,一种是reference一种是拷贝 ...

functorlambda 的区别, 性能上有何差异

答: 不知道...

vector 的原理

答: 当push_back空间不够的时候,会重新申请一块空间,把原来的拷贝过来,再push新的。

push_back 时间复杂度

答: (懵逼脸)因为有拷贝,所以不是$O(1)$

其实是$O(1)$,因为拷贝的次数很少,可以忽略不计

mapunordered_map 的区别

答: map实现是红黑树,unordered_map 实现是 hash table

问红黑树和平衡二叉树的区别

答: (懵逼,不知道什么是平衡二叉树,其实就是AVL树)说了一堆红黑树的特点,所有操作保证$O(\log n)$

问红黑树左右子树高度最多差多少

答: 不知道。。。

joindetach的区别

答: join会等子进程结束才会退出,detach不等

问两个进程,一个计算,另一个等,怎么实现

答:(乱答)用信号量

unique_ptrshared_ptr的区别

答: unique_ptr同一时刻只能被一个对象拥有,shared_ptr可以被多个对象拥有,当最后一个对象销毁的时候,share_ptr会释放

问如何构造unique_ptr

答: make_unique

问如何使unique_ptr释放

答:(忘了)乱答的,应该是调用release函数

问TCP和UDP能不能占用一个端口

答:(乱答)扯到内核调用什么的,后来觉得我不会就不问了

问内核态和用户态的区别

答:(乱答)不知道

问计算机内存情况

答:cache,ram,。。。

问内核态和用户态的虚拟内存是一样的吗?

答: (猜)不一样

解释一下virtual关键字

答:(乱答)。。。

(问不下去了)结束

答:(懵逼)。。。

总结

基础太差,完全是要用什么看什么,没有深挖下去,平时积累不够,需要继续修炼。

但是我觉得这些问题其实并不难,平时好好积累就行了,做做项目应该就可以了解。

comments powered by Disqus

search See also