前期准备
一. 项目经验
1. 介绍之前做过的项目
A: 简短的项目背景 + 自己完成的任务 + 为了任务,自己完成了哪些工作,具体如何做的 + 自己的贡献
- Situation:项目背景要简洁;
- Task:自己的任务说明负责了什么,讲出项目的总体架构,框架设计,核心算法,团队合作等
- Action:系统架构特点,自己基于什么工具,在什么平台和框架,应用了哪些技术,实现了哪些算法
- Result:按时完成了多少功能和开发任务,最好加以数字说明,突出介绍 工作成绩
2. 该项目中碰到的最大的问题,怎么解决的?
- 一开始最大的问题就是对于业务层面的理解,因为这个项目是服务于供应链的嘛,供应链的那些工业机理和算法逻辑相当复杂,所以这方面的学习成本很高,但是它又是最重要的,只有理解了这些工业机理和算法才能切实地进入开发状态,完成工作任务。
- 某项目中的话,可能就是python代码执行效率的问题,有些数据量和计算量都比较大,按照设计好的算法开发的话,运行时间可能要好几个小时,用户的体验感相对来说比较差吧。
- 跟用户沟通讨论,重新设计业务逻辑和算法,同时从代码使用多线程,多进程等角度去优化。
3. 项目中学到了什么?
- 技术上,代码能力得到了提高,尤其是数据处理和算法设计这一块,也熟悉了一个项目的开发流程,以及实践出真理,有些知识点只有实际用到的过程中才能逐渐掌握,比如异步问题,多线程和多进程的使用等
- 还有就是一个团队需要多沟通交流协作才能更加高质高效的完成任务
4. 团队成员之间有冲突怎么处理?
A:一般的话,优先就是开个会一起讨论下问题,或者说分析下造成冲突的具体原因,大家一起研究出相应的解决办法。在某公司内工作,开会是很多的,除了周会还有定期的各种开发会议等。
5. 为什么想换工作?
A:本次考虑换工作的原因,主要是寻求一个职业成长的机会。当前这份工作我主要是做开发为主,负责过一些开发的项目,这些工作经历让我在技术、项目管理和业务理解上得到很多的锻炼和收获。但从我个人的发展角度而言,我希望自己能更接近业务、特别是直接从产品的角度为公司创造更多价值。所以希望自己接下来能够结合自己已有的经验,在测试/技术支持方面有更加专业和系统的历练。贵公司刚好在招聘这一方面的人才,而且贵公司是领域的行业标杆。经过短期上手,我相信自己能胜任这个岗位。一方面既可以发挥我在开发方面已有的经验,另一方面也可以让我在测试/技术支持方面得到更多的历练,最重要的是,我觉得测试开发/技术支持也是我预期的方向之一。
6. 最近在看什么书,学到了什么新技术,有什么新得体会?
A:也快年底了嘛,最近工作上的任务也比较重,所以最近其实都还没有时间涉猎额外的知识,学习上是有点啊松懈了。
7. 有什么问题想问的?
A:1. 您认为我目前的能力与应聘岗位之间的匹配度如何?
A:2. 我还想了解下公司整体的培养机制。
二. 素质要求
1. 扎实的基础知识
- 熟练掌握数据结构:链表,二叉树,栈,队列,哈希表等
- 链表的插入删除;二叉树各种遍历; 查找, 排序 算法(二分查找,快速排序);动态规划和贪婪算法
2. 高质量代码
- 代码命名、注释等规范性要求
- 多主动提问,问清楚问题细节
- 考虑边界问题和异常处理
- 各种可能情况先想好
3. 清晰的思路
- 画图,举例,分解复杂问题
- 根据特点考虑合适算法,与哪些做过的算法题类似,采用遍历,递归,动态规划等
4. 优化效率的能力
- 注重时间复杂度和空间复杂度