在下的观察
找工作分成履历跟面试 履历关过了才有面试
大概会看这些
* 资深
履历: 不分产业 基本只看经历
面试: 主要是系统设计跟行为问题 少部分大公司才会考算法
* 一线外商(含台北/新竹)
履历: 基本上都是相关科系+经验 硕士非必要
面试: 算法mid-hard 可能会有系统设计跟domain问题
* 互联网(120万台内)
履历: 相关科系 or 懂框架
面试: 基础框架实作问题 有考算法大概就是ez难度
* 互联网(120万台以上或海外同等)
履历: 相关科系 and 懂观念(OS/Network) 框架非必要
面试: 新人一般是算法 会考domain
* 系统厂(其实是个很大的range)
履历: 学历 or 经历 or 相关项目即可(薪水不高就不会太挑人)
面试: 算法ez-mid C或嵌入式相关的问题
* 半导体
履历: 目前看起来是电资硕士 or 硕士+学生级相关经验亦可 反正一定要硕士
面试: 看主管心情 有人面到很难也有人只是聊天
注: 外商Fab貌似跟台湾半导体差不多
至于纯算法 无相关背景可以拿面的
这种案例也不是说没有
https://www.quora.com/Is-performing-well-in-Google-Code-Jam-enough-to-get-a-job-at-Google
缩=> https://bre.is/qfEmw6dD
(虽然答主其实也是念Info&Math 而且是ICPC WFer)
但是Leetcode四题不会是足够的 你可能要锁定Codeforces或Code Jam这类平台
达到前5%参赛者的水准才有机会
差别在于Leetcode只是测基本编程能力 而顶级赛事知识覆蓋更广泛
(虽然还是很好举出不可能考出来的内容)
而且说实话 愿意这样找人的公司不多 即使是Google也不是每个team都非常乐意收
因为这种编程技巧对于大部分日常工作 都过于屠龙了
(即使是GAMAN)
他们愿意收只是因为潜力不错 但仍然需要时间培育
(甚至得花比普通CS毕业生更久的时间)
剩下更多的是不愿意花这么多时间培育新人的公司
反正一样都能用 我找一个懂得差不多的人(到处都是)来用不是更简单吗
所以要不要这样做 还是你自己决定
路线可能会比"普通人"要陡峭不少