进步始于交流
收货源于分享

百度后端C++电话一面

  • Json、XML差异?说全点,能想到的所有差异。然后protobuf不小心被我提出来了,开始扯三个的差异。。。。然后问优缺点、服务端客户端使用及接口更新的影响范围如何缩小
  • 左值,右值区别
  • map用什么?红黑树
    还可以用什么方法实现?(为什么不问我红黑树是什么?已经准备好详细的说。大脑短路答了个,二分搜索。第二个问题就跪了,别人的面经引到什么就谈什么呀。。。)
  • 网络懂么?用的多么?不多,就用过tcp。嗯那就说这个,客户端发送1kb的客户数据,通过tcp与udp发送,两种协议读取时读到的数据有可能是多长?没有深入了解过,感觉都接收1kb
    有没有其他可能?tcp也有可能分包
    假设已经收到了客户数据呢?不知道。。。(当时问了好久也没想出来答案,这是不是考察udp有可能收到其他广播的信息?)
  • struct、class的区别是什么?默认private/public
    还有什么?struct支持C语言解析
    还有什么?不知道
  • 函数重载是怎么实现的?name mangling
    那参考了哪些信息?函数名、参数及类型、参数顺序
    还有什么?没想到还需要什么信息
    那是否考虑返回值类型?不清楚,但我想重载函数使用不会根据返回值而判定,所以我认为可能没考虑
  • 信号槽的原理?这里回答提到了多线程
  • 如果有多线程任务怎么办?理解错了,回答提到了线程池
    线程池怎么实现?XXXXX,说的是回调方式,用bind、function
    除了回调还有什么方法?(没想到)
  • 假如现在有多个任务安排给线程池,分别从吞吐量、响应时间两种方面进行任务安排,分别如何安排?(完全理解错误,答了好几次,都不在点上,现在知道应该是task scheduler)
  • 多线程与多进程的CPU调度差异?没学过
  • hash知道么?怂了,不知道
  • hashmap冲突怎么办?不知道l?? ?list与vector区别
  • LRU算法知道么?没听过
  • map是线程安全的么?不是
    如果多个进程同时访问map,如何保证安全?我说的建立镜像供多线程使用
    问那能保证多个线程的操作顺序不变么?不能
    那如果有大量线程访问都要建立一个映像?是的,没想到其他合适的方法
  • 还问了项目中提到的心跳包、守护进程怎么实现的?如果守护进程崩溃了怎么办?
  • 换了个问题,短网址服务怎么做?通过用redis做存储,做长短网址映射
    然后问了redis突然崩溃怎么办?持久化,两种方式RDB/AOF
    这两种分别怎么实现的?不知道(细节模糊了)
    回到短网址服务,如何做映射?md5
    没这么长的短网址,要缩减为短的,有很多这样的算法,那如果两个网址缩短后一样怎么办?再加一个id做标志位
    那如果有1万个网址一样,怎么办,id从1到1万?不知道
赞(0) 打赏
未经允许不得转载:Techie亮博客 » 百度后端C++电话一面

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏