Re: [讨论] 软件工作真的有需要刷题吗?

楼主: zased (我只是上PTT查资料)   2021-08-17 00:13:24
忍不住回应下,有在使用 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万大大, 真的有需要刷题吗?还是纯粹就为了面试?
: : 在下工作比较边向机台开发和嵌入式系统
作者: viper9709 (阿达)   2021-08-17 00:16:00
推专业
作者: wawi2 (@@)   2021-08-17 00:27:00
可是你不是大神 乖乖去刷题另外面试被问红黑树的 那就是面试官不想要你才问得而已尼要知道美国一堆职缺 其实就算你资格在好也不会上应该那职缺是perm用的 面试的目的就是想办法刷掉你当然我说的是美国的情形 台湾我不知道详情去看fb最近发生什么事就知道了 颗颗喔 我看完全文的 不该嘘的 推回来了
作者: kvjo (同名专辑)   2021-08-17 00:42:00
只能看面试官与企业文化吧 没有标准答案 都遇过
作者: dickjas (夏天的航海记)   2021-08-17 00:47:00
蛮认同的,很专业的回答, 软件真的范围很大,刷题真的只是冰山一角个人工作比较偏向机台开发, 硬件知识反而需要更多不过大大是什么产业的软件呢?蛮多我听不懂的
作者: drajan (EasoN)   2021-08-17 01:04:00
Inverse proxy -> reverse proxy
楼主: zased (我只是上PTT查资料)   2021-08-17 01:06:00
非大大 过去在embedded写C/linux shell 之后转市售商用软件网页/数据库/桌面程式/手机程式/后端架构/数据分析 全包XD感谢推文的专家们指正!
作者: mathbookh2o2   2021-08-17 02:23:00
Google肯定是认定问算法有帮助才问的吧,真的有人以为这间公司会浪费一堆时间去问没用的问题 XD?
作者: Apache (阿帕契)   2021-08-17 02:43:00
美国其实不是只有一套考题 高阶或专门领域会有自己的问题算法通常是拿来考所谓General SWE 重视可塑性(高级码农)这个案例最大的问题是recruiter没有把他分配到正确的岗位某种意义上来说 他确实也不适合这个岗位
作者: charle0911   2021-08-17 02:58:00
我记得几年后Homebrew的作者有po文反转 他很感谢当初google这样面试他 他认真开始研究算法与资料结构后受益无穷
作者: FRAXIS (喔喔)   2021-08-17 04:33:00
Peter Norvig 在演讲中提到 Google 内部研究有 competitive programming 的经验,与工作效率是负相关https://www.youtube.com/watch?v=DdmyUZCl75s
作者: flash5408   2021-08-17 04:58:00
那他们干嘛一直办GCJ版控应该是贵公司要制定好制度吧 进来再学就好了
作者: final01 (牛顿运动定律)   2021-08-17 07:01:00
大哥,不要有事没事举大神当例子XD
作者: alihue (wanda wanda)   2021-08-17 07:19:00
跟大学无用论举贾伯斯很像
作者: umum29 (....)   2021-08-17 10:14:00
其实你说的是面试时系统设计的问题 所以笔试还是要准备
作者: jlhc (H)   2021-08-17 10:42:00
但这很多问题遇到会嘴的印度人真的超级能说...
作者: jobintan (Robin Artemstein)   2021-08-17 11:20:00
公司不需要大神,会故意用比较刁钻的东西想刷掉他们。
作者: flash5408   2021-08-17 11:21:00
结果peter自己后来澄清他弄错了https://news.ycombinator.com/item?id=25426329
作者: yyhsiu (hsiu)   2021-08-17 11:55:00
像版控阿… git 用到飞起 在大公司还可能有反效果…很多 in house 的,他们找学习力强的三两下就上手了有时候是想找天花板高的,不是当下本质学能最强的
作者: WaterLengend (Leeeeeeeeooooooo)   2021-08-17 15:12:00
作者: clarkman (凉雨)   2021-08-17 21:29:00
老实说很说大公司git甚至是直接找SI处理,一般人就基本指令打一打而已。
作者: doranako (真爱无限)   2021-08-18 00:35:00
就算知道那么多,第一关刷题不过就没机会
作者: BBSealion (海狮)   2021-08-21 14:47:00
CP 那个真的太偏了啊,跟面试的难度需求不在一个层级可以想成一门独特的专业技能了,当然会间接影响其他工程中更重要能力的培养时间

Links booklink

Contact Us: admin [ a t ] ucptt.com