京东后端AI开发二面面经

京东 · 后端AI开发 · 二面 · 2026-04

面试题目

  1. 项目拷打
  2. JVM内存结构以及是否调优过?
  3. 线程与进程的区别?
  4. 计算机网络结构
  5. 各层的作用,重点讲述应用层和网络层
  6. Java内存管理用过的方法
  7. 设计模式相关问题
  8. 线程退出机制
  9. 手撕代码:实现一个线程池
  10. 算法题:1亿个数取top1000

参考解析

  • JVM内存结构:主要包括堆(Heap)、栈(Stack)、方法区(Method Area)、程序计数器和本地方法栈。调优通常关注堆内存大小调整(-Xms/-Xmx)及垃圾回收器选择(G1/ZGC)。
  • 线程与进程:进程是资源分配的最小单位,线程是CPU调度的最小单位。进程间内存独立,线程间共享进程内堆内存,但拥有独立的栈空间。
  • 计算机网络分层:OSI七层模型或TCP/IP四层模型。应用层负责协议交互(如HTTP/DNS),网络层负责路由寻址(IP协议)。
  • 线程退出机制:推荐使用中断(interrupt)方式。通过volatile变量标记控制循环停止,或调用Thread.interrupt()并捕获InterruptedException响应,避免使用已废弃的stop()。
  • 线程池实现:需维护一个阻塞队列存放任务,核心线程数个工作线程不断从队列获取任务执行,并处理异常逻辑,注意线程状态管理。
  • TopK算法:使用堆排序(最小堆)或分治法(外部排序)。1亿个数存入内存会超限,通过构建大小为1000的最小堆,遍历数据并与堆顶元素比较,维持堆的有序性即可。