项目经验 STAR模型 Stituation: 简短的项目背景. 规模, 功能, 目标用户. Task: 完成的任务. 区分"参与"与"负责" Action: 为完成任务做了哪些工作, 怎么做的. 系统架构,开发工具, 平台, 技术. Result: 自己的贡献. 数字说明取得哪些效果.
应聘者掌握的技能 区分"了解", "熟悉" 和 "精通" ?? 看英文版本书去查看对应的英文. 了解: 无实际项目, 职位需要才列出来. 熟悉: 工作中项目开发中的技能. 精通: 轻松答出该领域的绝大多数问题.
扎实的基础知识 编程面试环节: 编程语言, 数据结构 和算法. 数据结构: 链表, 二叉树, 树, 栈, 队列, 哈希表, 算法: 查找, 排序, 二分查找, 归并排序, 快速排序, 动态规划, 贪婪算法
高质量代码 鲁棒稳定 边界条件 特殊输入 问题越简单, 期望越高.
清晰的思路 画图 举例 分解
优化效率的能力 熟知各种数据结构的优缺点, 能选择合适的数据结构. 熟悉掌握常用的算法: 查找, 排序.
优秀的综合能力
返回值, 全局变量和异常三种错误处理方式的优缺点比较
错误处理方式 | 优点 | 缺点 |
---|---|---|
返回值 | 和系统API一致 | 不能方便地使用计算结果 |
全局变量 | 能够方便地使用计算结果 | 用户可能会忘记检测全局变量 |
异常 | 可以为不同的出错原因定义不同异常类型, 逻辑清晰明了 | 有些语言不支持异常, 抛出异常时对性能有负面影响 |
调试技巧