 |
|
55
zkeeper Jan 8, 2019 2
另外, 看到楼上的手写 atoi, 手写 SQL, 我感觉直接抓我现场写我也写不出来, 或者写出来各种 bug. 但是我平时工作仍然绩效不错.
平时工作中碰到任务, 考验的不是抓过去现场码代码的能力, 而是: 1. 定义任务边界的能力: 如果定义跟其他服务的接口, 令其清晰, 预留功能扩展的能力, 不需要经常改变接口 2. 理清任务需要实现的功能点, 考虑各种边缘情况, 并根据这些点写出功能测试代码 3. 资料收集分析能力, 碰到不熟悉的地方, 怎么快速通过搜索引擎, 各种网站快速找到高质量的文档, 快速入门 4. 理解并设计出一个新 feature 除了基本功能外还要考虑的地方, 比如: 1. 性能(tps, rt) 2. 资源占用 3. 运维便利性, 如 log print, metrics 等方便后续定位问题的措施 4.各种边界情况都要考虑到并定义预期的结果, 并测试 5. 上线此功能对现有用户的影响.... 等等 5. 如何设计内部的各种类, 以及他们之间的关系, 既要有设计, 又不能过度设计. 6. 配置如何加载及变更, 等等 7..外延太多了就不一一列出来了. 比如某个功能, 既可以在这个组(模块)实现, 也可以在那个组实现. 是要抢过来还是推出去, 为什么. 以及如何做才能有理有据, 不至于影响各组之间的关系....
以上这些, 我感觉比单纯手写某个函数要有用的多, 也是工作中经常要用到的能力. 一个人能抓过来现场写这些库函数代码或者常见算法并且写的很漂亮, 我理解有两种可能性, 一种是他天纵奇才, 另一种是他刷题很用功, 正好赌中了.
对 CS 一知半解, 靠刷题进大公司的在硅谷太多了, 真正好用不好用只有天知道.
|