腾讯C++后端实习一面
手撕1: 反转链表
测试通过了问如何优化以及对应八股
1. new ListNode后面需要手动delete,如何解决(改用智能指针
2. 智能指针底层实现
3. 移动如何实现
4. std::move的作用
5. 万能引用、std::forward、完美转发
6. 写的ListNode改成支持多类型(模版
手撕2: LRU
unordered_map➕双向链表
写完同样是问如何优化:
1. 如果-1是合法的value,get()应该怎么优化?(返回bool,加一个value引用参数
2. 如果value是一个很大的数据结构,get()内如何避免拷贝?(用把引用改成指针作参数直接修改指向内存
3. 如果key是一个很大的数据结构,但unordered_map和ListNode都含有key,如何优化?(想了很久,其实同样的思路,用key的指针作key
4. 如何禁用LRU类的拷贝构造和拷贝运算符
项目:
1. RPC基本流程
2. Reactor模型,IO多路复用
3. IO和业务如何分离
4. 根据CPU核数如何分配IO和业务线程数量
测试通过了问如何优化以及对应八股
1. new ListNode后面需要手动delete,如何解决(改用智能指针
2. 智能指针底层实现
3. 移动如何实现
4. std::move的作用
5. 万能引用、std::forward、完美转发
6. 写的ListNode改成支持多类型(模版
手撕2: LRU
unordered_map➕双向链表
写完同样是问如何优化:
1. 如果-1是合法的value,get()应该怎么优化?(返回bool,加一个value引用参数
2. 如果value是一个很大的数据结构,get()内如何避免拷贝?(用把引用改成指针作参数直接修改指向内存
3. 如果key是一个很大的数据结构,但unordered_map和ListNode都含有key,如何优化?(想了很久,其实同样的思路,用key的指针作key
4. 如何禁用LRU类的拷贝构造和拷贝运算符
项目:
1. RPC基本流程
2. Reactor模型,IO多路复用
3. IO和业务如何分离
4. 根据CPU核数如何分配IO和业务线程数量
全部评论
您好请问你是什么时候投的简历 然后收到的面试呀
相关推荐
查看10道真题和解析