[暑期实习] 微信技术架构 后端一面面经

约50分钟
1. 介绍项目;
2. mmap中间发生的io是怎么样的;
3. 有一个人名册,有每个人的名字,用一个数据结构满足以下需求:查找制定前缀的人名集合。 -- 字典树。
如果不是人名,有很多长字符串,字典树有很多指针,能否优化之?答:忽略掉中间不代表任何串的节点,在父节点直接判断并跳转。
4. 有百万千万的单词,用一个数据结构找到前一万出现频率的单词。随便说了个大根堆,显然不是最优解,不过我有点开摆。
5. shared_ptr是否线程安全 – 看情况,里面的裸指针不安全,但是引用计数是atomic的,安全。
6. 模板最后呈现的效果是怎么样的 – 由于每个模板(泛型)特化的类在编译期是确定的,所以由编译器直接生成所有特化类型。
7. C++实现vector,最好为模板类,并带有构造函数。
我最终写了默认构造、拷贝构造、移动构造(没写好)、clear()、push_back()、pop_back()、operator =、析构函数等,其中有扩容处理,具体实现哪些内容不作要求。
8. 协程了解吗。用的不多,反正就是用户态下实现类似多线程的效果。
全部评论
3是压缩前缀树吗 4用跳表可行吗
点赞 回复 分享
发布于 08-08 18:34 四川

相关推荐

我最近一段时间与平常不一样,感觉再也不会快乐了,做什么都做不好,特别容易激动,好指责他人或者斗殴或者争吵,一会忽然莫名的非常高兴,一会又非常的沮丧,这一段时间我感觉自己非常疲惫。彷佛我经历了重大疾病和事故。后来我有了别人都不懂的一套语言系统,人们经常难以理解我说的话,发现别人很难理解我,但我知道我做的事情都是值得别人赞美的,他们在小声说话一定是在背后议论我,团队没有我任何工作都进行不了。因为只有我知道我是团队的核心,我的能力比所有同事都要优秀,我不会把真实想法告诉任何人,因为他们和我不是一类人,我提出的意见很新奇,大多数人不会理解,为此我每天都感到特别累。我很难相信我的伴侣,我没有亲近的人,除了家人我一无所有。这短时间我做什么都提不起兴趣,会躺在床上什么都不想干,会为了一点小事焦躁不安。我意识到这样不对,但我的思想被人夺走了!可能我要让别人明白我,人多的场合我会故意做些让人瞩目的事情,我会穿奇装异服让别人注意我,别人都说我是一个意志坚定的人,我非常乐观。我偶尔也会占一些小便宜。当别人当众羞辱我,即使他是对的我也感到非常耻辱。当别人在公共场合做出一些下流的事情,我很少上前制止,甚至会加入他们。最近有一个思想总在我脑海中反复出现,即使别人不知道,但我知道有些事的发生是发送给我的信号。有些东西在对我穷追不舍,我看到别人看不到的事物,我总是听到有声音在呼唤我,我觉得自己好像受到某种力量控制,我被某些人控制住了,我时常感到身体一部分不属于我了,我无法自拔。我的工作生活不允许出现失误,当工作不按照我的思路去做,我会很烦躁,重新再做一遍,我对细节非常在乎,哪怕事情已经完成了还会反复检查。我的优秀让我建立不了亲密关系,我融入不到集体,为了不让我爱的人离开我,我会用一些极端方式挽留对方。我羡慕那些学习效率高的人。我,希望能像别人那样开心。
点赞 评论 收藏
分享
4 33 评论
分享
牛客网
牛客企业服务