苏州凌志软件27届Java对日开发实习面经(已过)

《面试题目》

提问环节

  1. 中文自我介绍
  2. 日语自我介绍
  3. 日语简短问答(是否去过日本、喜欢吃什么食物等)
  4. 面向对象的三大特性是什么?重载和重写分别是什么表现?
  5. 贪心算法的原理是什么?在项目中是如何使用的?
  6. 常见的排序算法有哪些?
  7. 冒泡排序的时间复杂度是多少,为什么是 O(N²)?
  8. 平时用 AI 辅助编程,主要用在哪些方面?
  9. 使用 AI 辅助编程时遇到过什么问题?如何看待 AI 的局限性?
  10. AI Skills 一般由什么组成?有什么作用?
  11. 如何看待加班?
  12. 如何看待赴日工作?
  13. 个人特长、未来打算、最快多久能到岗

反问环节

  1. 公司是否提供 Claude / Codex 等 AI Agent 工具?
  2. 公司目前的技术栈是怎样的?

《参考解析》

  1. 面向对象三大特性:封装(隐藏内部实现,只暴露必要接口)、继承(子类复用并扩展父类的属性和方法)、多态(同一操作在不同对象上有不同表现)。多态的两种典型体现是重载(Overload,同名方法参数列表不同,编译期确定)和重写(Override,子类重新实现父类方法,运行期动态绑定)。
  2. 贪心算法原理:每一步都选择当前情况下的局部最优解,不回溯、不考虑全局最优,适合具有”贪心选择性质”和”最优子结构”的问题,例如多目标节点寻路场景中,可以先按约束条件贪心分组缩小搜索空间,再用 A* 等启发式算法在组内求解,兼顾效率和效果。
  3. 冒泡排序时间复杂度:需要两层循环,外层遍历 N 次,内层每次都要比较剩余未排序的元素(最坏情况下平均比较 N/2 次),总比较次数约为 N×(N-1)/2,因此时间复杂度是 O(N²)。
  4. AI 辅助编程的局限性:容易”遗忘”上下文、跨文件/跨会话的约束难以持续遵守。应对思路是把项目规范、约定沉淀成记忆文件(如 CLAUDE.md)或可复用的 Skills,让 AI 每次执行前都能重新加载约束,降低出错率、提升协作一致性。