2024.1.10

面试

刚考完算法就来面试 (结果算法题还写错了 /(ㄒ o ㄒ)/~~), 对方主要是 go, 我是 java, 语言方面的问题就没问

  1. 自我介绍

  2. 项目里面遇到的难点

  3. 布隆过滤器解决了什么问题, 为什么使用布隆过滤器, 布隆过滤器的实现

  4. 缓存击穿, 缓存穿透, 缓存雪崩

  5. HashMap 和 ArrayList 底层实现

  6. SSE 和 WebSocket 的区别, SSE 多节点怎么推消息 (这个没听懂说明意思) (更新: 现在看了一个其他的项目好像有点理解这道题的意思了, 大概是 A 节点接受了请求, 远程调用 B 节点处理该请求, 但是再处理完成后要通过HttpServletResponse推消息)

    这个问题目前看到的解决办法是先写入到 Feign 的 feign.Response, 调用方解析后再写入自己的HttpServletResponse

    与之类似的有HttpServletRequest怎么传递, 这个我目前的解决办法是手动解析里面的参数, 然后在 Feign 调用的时候再注入进去, 主要解决的是请求头里面 token 在多个服务之间的传递

    更多参考这篇文章

  7. TCP 和 UDP 区别

  8. 三次握手, 四次挥手, 为什么不能两次握手

  9. 有向无环图判断是否有环, 拓补排序过程

  10. MySQL 慢查询检查方法, 除了查慢日志还有什么

  11. SQL 优化方法

  12. 算法题 160. 相交链表

  13. 怎么学习编程

  14. 是否看过源码, 参与过开源项目

  15. Go 的了解, 和 Java 相比各自的优劣

  16. 介绍公司项目

反问

  1. 工作时间

    弹性时间 😀

  2. Go 学习方向

几天后 hr 面, 大概说了一下情况, 没有谈具体薪资, 但是不会超过 180/d, 每天 11 点下班, 偶尔可能会通宵.