产品开发 + 校招
张明云老师的知乎live的学习笔记。
敏捷开发:
- 敏捷开发优点是:快速迭代,防止跟不上市场趋势。
- 敏捷开发缺点是:会议多。开发时间短。。
- 强调最小化验证,那就必须快速迭代版本。
软件开发流程:编码只是非常小的一部分,每个部分同等重要。
- 设计文档:
- 正式编码时,按照产品经理规划完成版本功能。这个时候就必须要求程序设计的低耦合性,因此在前期的程序设计非常非常重要,决定了稳不稳定,迭代的难易度。
- 持续的版本集成:日常,有改动就编译,有问题就解决。有第三方工具后,一般需要服务器,个人不可靠。
- 开发人员自测
良好的代码规范
- 代码给人看,顺便去机器理解。所以我们不用汇编而是高级语言。
- 注释:应该说出代码无法说出的信息。比如,概述,用意,逻辑。
- 一个代码块应该只解决一个问题。给出一个例子,大意是“获取文件大小却进行了很多的判断”
招聘中看好哪几点?解决问题的能力。
- 社招:有问题网上搜?。。不满意!还有思考的过程吗?
- 解决问题的套路:
- 了解问题。
- 定位问题。如果无法定位,那就采用排除法。
- 分析问题。具体问题具体方案。
- 解决问题。无法解决再搜索!保证产品稳定最重要!
- 校招:
- 人是否合适:
- 沟通ok不OK?
- 第一印象。吊不郎当?
- 人是否合格:
- 重点基础性问题。
- 不知道就问解决问题的思路。有没有清晰的思路?
- 对技术岗位的兴趣。对一个技术的分析,正确答案的推理过程
- 人是否合适:
- 解决问题方法:
- 打印。推荐
- 调试。多线程或多进程不准。效率低
- 排除。二分排除法,删除一半代码。。
- 小黄鸭。自我解析,自言自语
- 网络
- 线上线下
无法回答不会的问题
- 不懂就不懂。切忌猜这个猜那个。
- 可以说出思考的过程。着重解决问题的能力,
如何实现一个功能?先自己实现,再看别人的。
其他答疑:
用AS卡? module
应该学习和发展深入哪些技术?
- 答:张老师的观点是:视野更重要。学习的能力更重要
有没有什么教程能指导项目更加有层次,有一个好的架子
- 答:点我