面试问题

  • 有没有实际上有用户使用这个 vpn,插件是不是只是把客户端上报的数据存储起来?是线上的业务嘛?
  • grpc 同步和异步通信框架怎么去实现的?原来是什么样的?提升了什么性能?
  • 客户端和后台是通过什么方式连接的?长连接还是短连接?通过域名嘛?
  • 客户端直接通过配置保存服务端的 ip:port, 后台的 ip:port 变更了,这种场景下有做策略嘛?如果去优化,有没有想过就算是服务器的 ip:port 迁移了,客户端仍然可以去连接上服务器?
  • 实时抓包解析和 kafka 日志投递,有没有想过为什么要用 kafka?有没有想过为什么不直接投递到日志平台?
    • 面试官说害怕 Producer 扛不住,所以它把所有的日志都暂存在 kafka,使得 Producer 可以保持自己正常的负载,正常的运行。
  • 介绍一下 N : M 线程模型框架?
  • 协程阻塞后,让出协程,怎么保证阻塞协程的状态的?
  • 有没有压测过?并发量大概能到达多少?线程拿的到协程在执行什么任务?有没有关注过你这个 QPS 在什么规模的机器下跑的?有没有看过真正访问网页的成功率?有没有具体的数字?本机压测的嘛?发家机和测试机都在同一个 虚拟机 嘛?没有网络层面耗时的验证?
    • 面试官说这个很重要,因为 QPS 高,但是成功率不高,没什么用。
  • N : M 线程模型有没有性能的瓶颈?
  • 有没有用过 AI 相关的工具?
  • 你说在你这个协程服务器上面做 AI 相关的工具,现在只是讨论,你想会如何去做?想提什么东西?
  • 算法
    • leetcode_295:数据流的中位数
    • leetcode_138:随机链表的复制
  • 要求用 AI 来降低随机链表的复制的 空间复杂度 O(n)O(1)