苏州凌志软件对日开发岗面试(已过)
《面试题目》
一、提问环节
- 中文自我介绍
- 日语自我介绍
- 日语简短问答(是否去过日本、喜欢吃什么食物等)
- 面向对象的三大特性(封装、继承、多态,及多态的表现——重载和重写)
- 贪心算法原理?项目中如何使用(多目标节点寻路:贪心分组+A*)
- 常见的排序算法有哪些?
- 冒泡排序的时间复杂度,为什么是 O(N²)
- 平常用 AI 辅助编程主要用在哪些方面(冗余代码重写、脚手架搭建)
- 使用 AI 辅助编程遇到过什么问题,如何理解 AI 的局限性(容易遗忘,改进措施:记忆文件规范化/使用 skills 辅助)
- skills 的组成形式?有什么作用?
- 对加班的看法
- 对赴日工作的看法
- 个人特长
- 对未来的打算
- 最快多久能来实习
二、反问环节
- 现在AI编程这么发达,公司有提供Claude/Codex等agent工具吗?
- 现在的技术栈是怎么样的?
《参考解析》
- 冒泡排序复杂度:冒泡排序需要两层嵌套循环,外层控制排序轮数(最多 n-1 轮),内层每轮两两比较相邻元素并交换(最多 n-1-i 次),总比较次数约为 n(n-1)/2,因此时间复杂度是 O(N²)。
- 贪心算法 vs 动态规划:贪心算法每一步都选择当前看起来最优的局部解,不回溯、不考虑全局最优,适合具有”贪心选择性质”和”最优子结构”的问题(如活动选择、哈夫曼编码);若问题存在后效性(当前选择影响后续多种可能),则更适合用动态规划求全局最优解。
- skills 的作用:skills 一般由 Markdown 文档+配套资料组成,用于对 AI 在特定场景/问题下的行为进行约束和引导,本质是把领域经验和最佳实践”固化”成可复用的提示词模板,从而提升 AI 输出的效率和准确率、降低出错率。