高德地图 一面

真真切切拷打:75min

  1. 自我介绍 3min
  2. 实习一 10min
  3. 讲讲socket通信过程(客户端需要bind吗?答不需要,忘了。。)
  4. 讲讲为什么用select不用epoll?epoll比select好在哪?(答数据结构不同:红黑树加双向链表vs数组;答内核态用户态切换开销不一样)
  5. 为什么二者内核态用户态切换开销不一样?(答不知道)
  6. 讲讲et和lt(答lt没读完会一直提示,et读写变化时才会提示)et需要一次性把数据读完,要是缓冲区不够怎么办,一定每次都要读完吗?
  7. 什么情况下用lt?什么情况下用et?现在的项目常用的是et还是lt?
  8. 实习二 10min
  9. 你们整个服务的时延是多少?耗多少cpu?耗多少memory?
  10. 如果你们的服务整个垮掉了,如何保持服务的可用性?服务上线更新过程中,更新前和更新后的中间临界状态是对外提供服务的吗?如果不是会发生什么?
  11. 你们的输入是如何从上游获得的,数据库还是消息队列?
  12. 如果你们服务正在执行任务时崩掉了,怎么恢复保证被中断的任务继续执行?(答保存输入或中间值到存储/日志,恢复后重跑一遍)
  13. 抽帧是怎么实现的?如果一个视频没有抽帧怎么办?(只能答到调rpc这一步。。)
  14. 项目一 10min
  15. websocket和socket的关系和区别?websocket是七层中的哪一层?(答应用层,不知道对不对),为什么不用socket而用websocket?
  16. websocket和http的关系和区别?(答websocket能双向传输信息)又问http不能双向传输信息没?为什么你搭建的服务器不用http?
  17. 八股 20min
  18. c++的多态底层怎么实现的(答虚函数,问底层,答虚指针)
  19. 从浏览器输入一个url到渲染的整个过程,越详细越好:
  20. DNS解析(缓存,递归,迭代)DNS是哪个层的?(答应用层)它是基于传输层的哪个协议?(答UDP)
  21. NAT转发(内网转公网)
  22. TCP三次握手
  23. 建立HTTP链接(这里忘记是怎么建立的了)
  24. TLS握手
  25. 传输信息(.html/.js/.css)
  26. 进程间通信方式
  27. 管道(问管道用在什么地方?答linux命令。问有名管道用在什么地方?没想出来,答消息传输)
  28. 共享内存/文件映射内存mmap(问共享内存和mmap有啥区别,不太清楚,答mmap有块专属内存区域)
  29. 信号,信号量,套接字,rpc。。。(这些都没太讲具体)
  30. mysql为什么要用b+数作索引
  31. 答一减少磁盘切换开销,二方便范围查询
  32. 算法题 20min
  33. 给10M内存,找出10亿个整数的中位数,说不记得文件操作的接口了。。(面试官说写伪代码就行)
  34. 没想出来。。说外部排序,但这样做不到全部排序,因为内存还是不够,后面面试官提示按数字区间分块,还是没想出来。。。

全程激情拷打,很充实

#软件开发2024笔面经#
全部评论
老哥,哪个部门
点赞 回复 分享
发布于 04-02 20:47 天津
更新:一面已挂
点赞 回复 分享
发布于 04-03 13:09 北京
一面问这么多吗
点赞 回复 分享
发布于 04-05 14:21 福建
我的天,75分钟
点赞 回复 分享
发布于 04-05 15:02 内蒙古
佬,请问怎么看有没有挂呀?我面完状态一直没变
点赞 回复 分享
发布于 04-07 18:19 湖北

相关推荐

10 34 评论
分享
牛客网
牛客企业服务