TME酷狗音乐二面

某互联网公司 · AI算法工程师 · 二面 · 湖北 · 2026-05

《面试题目》

📍面试公司:TME

  1. 🕐面试时间:5.12
  2. 💻面试岗位:后台开发二面

❓面试问题:

  1. 除了 Java 语言的话,还有了解其他的语言吗?
  2. 像 C++ 和 Go 这些有了解吗?
  3. Go 完全没了解过吗?知道这门语言吗?
  4. Go 的相关内容完全没有看过吗?
  5. 你对 Go 这门语言不感兴趣吗?
  6. 你知道 Go 这门语言有些什么样的特性吗?
  7. 那你觉得 Java 跟 C++,你怎么评估这两个语言呢?
  8. 你们上课没有学过 C++ 吗?
  9. C++ 中 Public 继承跟 Private 继承有什么区别?
  10. 你在项目里面没有了解、没有用过这两种继承方式吗?
  11. 你说一般使用默认的继承方式,那默认继承是什么继承?
  12. 怎么理解?
  13. 那我问的是,在 Java 里面默认的继承方式是哪种?
  14. 为什么 Java 默认的继承方式是 Public?
  15. 如果一个子类以 Public 的形式继承了父类,它能不能调用父类的 Private 函数?
  16. Java 中 Map 跟 HashMap 有什么区别?
  17. HashMap 底层是怎么实现的?
  18. 你平时用的开发环境主要是 Windows 还是 Linux?
  19. 有用过 Linux 吗?
  20. Linux 中怎么样查看服务器的 IP 地址?
  21. Linux 中怎么查看服务器的 CPU 核心数?
  22. Linux 中怎么查看服务器的内存大小?
  23. 如果我知道一个进程的名字,怎么查看这个进程的 ID?
  24. 你是怎么理解多线程跟多进程开发的?这两种开发模式有什么区别?
  25. 你没有实际开发过多进程对吧?那从理论上来分析呢?
  26. 你知道 Linux 上或者操作系统调度进程的算法是什么样子的吗?
  27. 刚刚你提到做了一些 AI Agent 相关的工作,这些是你的学习项目,还是说在实际的公司去推进的项目?
  28. 你的 RAG 系统是怎么设计的?
  29. 在 RAG 的通用流程里面,你有没有做过一些你觉得不错的优化或者调整?
  30. 你是怎么调的?调的原因是什么?
  31. 🙌面试感想:不知道为什么问了一些C++的问题

《参考解析》

  1. Java并发:Java并发:synchronized关键字(偏向锁→轻量级锁→重量级锁升级);ReentrantLock(可重入、可中断、公平锁);volatile(内存可见性+禁止指令重排,不保证原子性);CAS(Compare-And-Swap,无锁乐观并发);ThreadLocal(线程本地变量,WeakReference,注意内存泄漏)。线程池核心参数:corePoolSize/maximumPoolSize/keepAliveTime/workQueue/handler。

  2. RAG与大模型:RAG(检索增强生成)流程:文档切片→向量化(Embedding)→存向量数据库→检索时将query向量化→TopK语义检索→将相关文档拼入prompt→LLM生成。优化:混合检索(语义+关键词)、重排序Rerank、查询改写、上下文压缩。评估:召回率(relevant docs retrieved/total relevant)、精确率、Answer相关性。

  3. 算法题解析:常用算法思路:动态规划(状态转移方程,自底向上);BFS/DFS(图遍历,BFS找最短路,DFS回溯);双指针(有序数组去重/两数之和);滑动窗口(子串/子数组问题);二分查找(有序或单调性)。时间复杂度分析:关注最坏情况和平均情况。