作者zased (我只是上PTT查资料)
看板Soft_Job
标题Re: [讨论] 软体工作真的有需要刷题吗?
时间Tue Aug 17 00:13:24 2021
忍不住回应下,有在使用 Homebrew 应该知道这套件管理软体超级强大
作者 Max Howell 去 Google 面试被问如何反转 binary tree
这位大神当场挂掉,面试失败
https://twitter.com/mxcl/status/608682016205344768?lang=en
这种反转二元树题目po上ptt还会被乡民笑,
但影响全世界软体界的大神就是没在刷这种东西
不只 Homebrew, 连 Python 创始作者 Guido van Rossum 当初面试Google也差点被刷掉
後来Google内部有检讨为什麽现在机制会刷掉这种大神
他们也承认要写出顶级软体产品其实这些东西并非必要
後来G社面试委员会找了篇论文,
该论文指出很会刷code的面试者进公司数年後,
平均产出比同公司没在刷code的人还高
所以他们根据此研究就继续保持这项「传统」
另外我当面试官时,
会尽可能用系统设计的角度去判断此人是否有足够的软体经验
1.版本控制
不是考他指令,而是问他情境
开发中的功能是否放在主线branch还是独立拉出来,两者优劣差异
如何管理binary file 如何做Review机制
可从版控问到CI/CD甚至自动化测试的经验 (对方答出一个套件也没差,至少他有经验)
也面过完全没在做版控的,用资料夹跟档案命名版控,
这样你就知道他进来的话需要学什麽
重点是: 有版控清楚的观念
2.API
遇过工作好几年的软体工程师完全分不清楚API是什麽 该怎麽设计
为什麽需要RESTful? 什麽时候不需要RESTful
REST跟SOAP差异
然後可以从API追问到microservice的经验、异质API的介接
跨单位或跨司合做这项技能很重要,代表公司跟对方技术人员谈时比较能进入状况
3.Service
刚毕业大概傻傻分不清楚server跟service差在哪
可以问写过/用过什麽service
若对方有云端经验,可以聊SaaS/PaaS/IaaS
然後聊聊企业在资源不足情况该如何选择
有经验的可以多聊聊上面提过的microservice, load balance, inverse proxy...
4.安全性
遇过把产品私钥发布给客人的工程师
简述公私钥机制
什麽应用情境是由server产生公私钥 / 什麽情境是由client产生
凭证是什麽 SSO是什麽
这可以聊很多,看应徵职务。但最基本观念还是需要有
(曾经还有工程师把连线到云端资料库的connection string写在客人电脑client端,吐血)
5.资料库
关联性资料库跟NoSQL优劣,什麽情境需要用到前者/後者
正规化的意义是什麽? 为什麽我们偶尔需要反正规化?
资料库加密机制 封存机制 同步设计 auto-scaling
6.法规
欧盟 GDPR 如何做内控及如何因应欧盟/竞争对手的检举
什麽情况的产品,客人会受到 GDPR 的保护? 如何让产品合规
同理, 美国CCPA也可以聊 看他经验有多少
这块台厂RD大概比较弱,想说这是PM的事
但设计系统时 (特别是资料库),若开发人员搞不清楚乱写一通
後面只是等着被竞争对手弄而已
7.开源软体授权
常见可商用授权有哪些? 如何做才能商用?
过去有无写过软体第三方授权宣告
二流的真的没在管,网路抓抓就套用然後做成产品了
这也是等着被竞争对手弄而已
8.其他
什麽情境使用long polling 为何使用web socket
docker 的应用
OS相关
软体/韧体/driver
...族繁不及备载...
多跟面试者聊这些就知道他过去的经验及接触多少东西
有经验的工程师,至少都能说出些东西,马上就知道这人值不值这个价
最後我想说...软体不是只有刷题 (很重要没错,但那只是冰山一角)
不要面试者一坐下就问那些什麽红黑树考白板,我真觉得那太狭隘了
明明软体有那麽多面向可以聊
供参考罗
※ 引述《iidmaster (iidmaster)》之铭言:
: 刷题至少可以确保有一定水准的coding能力
: 也因为刷题满辛苦的,所以代表这个人可能是个努力的人
: 像做embedded system相关,跟刷题相关性不大
: 但是至少有一定水准的coding能力在设计架构跟实作比较不会犯基本错误
: 曾经面过一个说的一嘴的好经验~ 但是写个LinkedList都写不出来
: 也面过一个直接跟我说刷题用处不大~要我不要问他coding
: 可以把刷题当成基本门槛跟英文一样
: 拥有这些基本能力再继续谈其他的这样
: ※ 引述《dickjas (夏天的航海记)》之铭言:
: : 小弟不才, LeetCode只刷了几题. 但小弟已经工作了快18年
: : 也做了很多的大型Project, 真心认为刷题跟写程式其实没有很大的关西
: : 所以想请问各位300万大大, 真的有需要刷题吗?还是纯粹就为了面试?
: : 在下工作比较边向机台开发和嵌入式系统
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.193.209.209 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1629130409.A.745.html
1F:推 viper9709: 推专业 08/17 00:16
2F:嘘 wawi2: 可是你不是大神 乖乖去刷题 08/17 00:27
3F:→ wawi2: 另外面试被问红黑树的 那就是面试官不想要你才问得而已 08/17 00:29
4F:→ wawi2: 尼要知道美国一堆职缺 其实就算你资格在好也不会上 08/17 00:29
5F:→ wawi2: 应该那职缺是perm用的 面试的目的就是想办法刷掉你 08/17 00:30
6F:→ wawi2: 当然我说的是美国的情形 台湾我不知道 08/17 00:30
7F:→ wawi2: 详情去看fb最近发生甚麽事就知道了 颗颗 08/17 00:31
8F:推 wawi2: 喔 我看完全文的 不该嘘的 推回来 08/17 00:38
9F:→ wawi2: 了 08/17 00:38
10F:→ kvjo: 只能看面试官与企业文化吧 没有标准答案 都遇过 08/17 00:42
11F:推 dickjas: 蛮认同的,很专业的回答, 软体真的范围很大,刷题真的 08/17 00:47
12F:→ dickjas: 只是冰山一角 08/17 00:48
13F:→ dickjas: 个人工作比较偏向机台开发, 硬体知识反而需要更多 08/17 00:48
14F:推 dickjas: 不过大大是什麽产业的软体呢?蛮多我听不懂的 08/17 01:02
15F:推 drajan: Inverse proxy -> reverse proxy 08/17 01:04
16F:→ zased: 非大大 过去在embedded写C/linux shell 之後转市售商用软体 08/17 01:06
17F:→ zased: 网页/资料库/桌面程式/手机程式/後端架构/数据分析 全包XD 08/17 01:07
18F:→ zased: 感谢推文的专家们指正! 08/17 01:08
19F:推 mathbookh2o2: Google肯定是认定问演算法有帮助才问的吧,真的有 08/17 02:23
20F:→ mathbookh2o2: 人以为这间公司会浪费一堆时间去问没用的问题 XD? 08/17 02:23
21F:推 Apache: 美国其实不是只有一套考题 高阶或专门领域会有自己的问题 08/17 02:43
22F:→ Apache: 算法通常是拿来考所谓General SWE 重视可塑性(高级码农) 08/17 02:43
23F:→ Apache: 这个案例最大的问题是recruiter没有把他分配到正确的岗位 08/17 02:43
24F:→ Apache: 某种意义上来说 他确实也不适合这个岗位 08/17 02:43
25F:推 charle0911: 我记得几年後Homebrew的作者有po文反转 他很感谢当初g 08/17 02:58
26F:→ charle0911: oogle这样面试他 他认真开始研究演算法与资料结构後 08/17 02:58
27F:→ charle0911: 受益无穷 08/17 02:58
28F:推 FRAXIS: Peter Norvig 在演讲中提到 Google 内部研究 08/17 04:33
29F:→ FRAXIS: 有 competitive programming 的经验,与工作效率是负相关 08/17 04:34
31F:→ flash5408: 那他们干嘛一直办GCJ 08/17 04:58
32F:→ flash5408: 版控应该是贵公司要制定好制度吧 进来再学就好了 08/17 05:00
33F:嘘 final01: 大哥,不要有事没事举大神当例子XD 08/17 07:01
34F:→ alihue: 跟大学无用论举贾伯斯很像 08/17 07:19
35F:推 umum29: 其实你说的是面试时系统设计的问题 所以笔试还是要准备 08/17 10:14
36F:推 jlhc: 但这很多问题遇到会嘴的印度人真的超级能说... 08/17 10:42
37F:→ jobintan: 公司不需要大神,会故意用比较刁钻的东西想刷掉他们。 08/17 11:20
38F:→ flash5408: 结果peter自己後来澄清他弄错了 08/17 11:21
40F:推 yyhsiu: 像版控阿… git 用到飞起 在大公司还可能有反效果… 08/17 11:55
41F:→ yyhsiu: 很多 in house 的,他们找学习力强的三两下就上手了 08/17 11:55
42F:→ yyhsiu: 有时候是想找天花板高的,不是当下本质学能最强的 08/17 11:57
43F:推 WaterLengend: 推 08/17 15:12
44F:推 clarkman: 老实说很说大公司git甚至是直接找SI处理,一般人就基本 08/17 21:29
45F:→ clarkman: 指令打一打而已。 08/17 21:29
46F:推 doranako: 就算知道那麽多,第一关刷题不过就没机会 08/18 00:35
47F:推 BBSealion: CP 那个真的太偏了啊,跟面试的难度需求不在一个层级 08/21 14:47
48F:→ BBSealion: 可以想成一门独特的专业技能了,当然会间接影响其他 08/21 14:47
49F:→ BBSealion: 工程中更重要能力的培养时间 08/21 14:47