拼多多三面+timeline
一面0314,二面0323,三面0328,hr面0410,信息确认0417,意向0418。
三面0328
- 自我介绍
- 算法题:
- 题面:
通过字典树(Trie)来找出所有的前缀对(Prefix Pair),前缀对的意思,A单词是B单词的前缀,那么(A单词, B单词)就是一个前缀对。 例如 输入:words = ["abs", "app", "be", "apple", "bee", "better", "bet", "absolute"] 输出: [("app", "apple"), ("abs", "absolute"), ("be", "bee"), ("be", "better"), ("be", "bet"), ("bet", "better")] 要求 先通过输入来构建一个字典树,然后查找字典树找出所有前缀对。 如,上述输入的字典树是 [root] / \ a b / \ | b p e | | / \ s p e t | | | o l t | | | l e e | | u r | t | e 备注 1. 输入可以用各个语言合适的方式,比如一个字符串的数组,或是字符串的列表 输出也是类似的。 输入不需要从标准输入读取。 2. 输入的单词只会由26个小写字母组成。不会有重复的单词,不会有空字符串。
- 内部类 static class 和 class 不同的底层原因?
- 挑rpc项目进行介绍实现难点
- 我说TCP的粘包半包,他不认可,为什么普通的文件网络io没有这个问题?
- 序列化算法的不同
- json序列化的优缺点
- 优点:易读
- 缺点:反序列化解析慢,字符串解析慢,体积大,字段名占用了额外空间
- 变长编码如何实现(参考UTF-8)
- 注册发现问题:除了把zookeeper地址写死,别的方案?可以通过域名解析,但域名解析服务器的地址要写死
- 反问:业务介绍:偏基础架构,可能做消息队列、服务注册发现之类的后端开发要解决的问题