滴滴国际化地图 1
算法:
1 力扣138. 随机链表的复制
会迭代,不会递归
2 括号匹配
左值和右值的区别
虚析构
拷贝构造函数为什么引用传参
动态库静态库区别
协程和线程的区别
cpu密集任务,协程有优势吗
RAII
项目中的锁怎么实现的?
raft:大多数的意思
如果集群中节点数量特别多,每一条日志都需要拷贝到follower,是不是特别消耗资源?
优化:
- 写主读从
- 读请求不生成日志
- 批量复制,一次复制多条日志,减少网络请求次数
- 传输之前对日志条目进行压缩,减少传输的数据量
- 集群分区,每个分区都有一个leader,减少单个leader的负载
分区
实现线程安全的哈希map?
位图法
给40亿个不重复的unsigned into的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?
滴滴 2
拥塞控制的方法
发送窗口,接收窗口的意思
怎样判断网络不好?
收到重复ack
没收到ack? 一段时间没有收到ack,会自动重传吗?
vector和list的区别
进程间通信
索引的好处
堆栈区别
指针的作用?好处?和变量的区别?为什么用指针?
输出二叉树每一层第一个元素
queue的底层实现?什么时候使用deque,什么时候使用list?
构造类
存储int
插入数据,已存在则什么也不做 ,时间O(1)
删除数据,不存在则什么也不做 ,时间O(1)
随机返回数据,时间O(1)
unordered_map + vector
unordered_set : 前向迭代器,只能++it
list: 双向迭代器,++it ,--it
vector , deque: 随机访问迭代器, it + n
滴滴 3
做协程库的背景
测试怎么做的
raft项目背景,细节
数据库怎么做的?
rpc框架怎么实现
智能指针
装饰器模式,大白话解释
CAP
100g数据,分布在100台机器上,每台机器2g内存。排序
mapreduce
算法题:
合并有序数组 + 重复数据处理
研究方向
发展规划