一转眼EE毕业转码已经快9年,刚毕业的时候想找一份EE的工作,怎奈没有相关工作经验,大小公司都被拒,无奈之下学了两个月的Java,找了一个ICC,拿着5w的工资上岸了。在ICC干了一年半,去了某大厂,干了7年,去年底辞了职,马上又要重新投入职场,想在入职之前把我学习面试的资料和经历都总结下来供大家参考。
学习篇
1. 零基础转码语言选择
我个人推荐Java,如果有时间甚至可以先学C/C++。刷题Python最快,Python的确在刷题上有优势,不过我觉得在工作中用到的机会还是偏少(ML方向的不算)。9年中我做过IOS开发(学了两周的OC), 前端后端开发,即便写数据处理的时候用Scala都没用过Python,其中一个原因是Python实在太灵活了,不需要定义类型就可以用,工作上你会发现有时候很难读懂别人写的代码。如果你时间比较紧,以上岸为主,Python没有问题,如果你时间宽裕,想将来尽量减少onboard时间,我推荐学Java。而且实际工作之后你极有可能学很多种不同的语言,会了Java再学其他的也比较容易。
. Waral dи,
推荐的资料(有点儿老,但是好用!)
1) 郝斌的C语言课程:
2) 郝斌的Java课程:以上两个某宝都有,3.6rmb就能买到下载链接,我如果能上传资料,会把百度云链接放出来。
2. 学习数据结构和算法. .и
注意,这里我说的是学习数据结构和算法,不是准备面试。我曾经以为把数据结构和算法学好了,刷题自然就水到渠成了,可想而知呵呵呵。只能说学好数据结构和算法,会为以后刷题打好基础,因为刷题只有熟能生巧。我自己不喜欢读书,感觉读不下去,尤其算法都是厚厚的书,一眼望不到头。。。所以我还是喜欢看视频。我还是会推荐一本入门的书,这个书真的写的太通俗易懂了,电子版我正在想办法上传。我还推荐慕课的liuyubobobo老师的数据与算法结构的课程,这个老师讲的非常非常好
1) 书:https://www.amazon.com/Data-Stru ... a-2nd/dp/0672324539 (附件里有)
2) - 1视频(不差钱):https://class.imooc.com/sale/datastructure . .и
2) - 2视频(差钱):搜搜某宝,或者搜搜666java (dot) com
3. 项目经验
这个应该是转码选手最头疼的,我当时是学了马士兵的J2EE的课程,做了几个小的项目,对网络编程,Spring等等有了一些基础了解。这里我还是推荐去慕课或者666java找找看你喜欢的方向,udemy我也买了不少课,但是我觉得如果从实战和深度方面udemy上的老师没有国内培训机构教的好,而且从语言上来说,中文学起来更快一些 (想练习英语的除外)
面试篇 ..
1. 我应该上培训课吗?
我上了很多培训班,大几千刀的也有,小几百刀的也有,因为出于对自己EE出身的不自信,所以想通过这些培训课提升自己。我的结论是,如果你还没有刷过下面的题目,请不要着急报班,因为90%跟不上,如果你刷完了下面我说的169题,再决定要不要去报班。刷题是个需要自律的过程,如果没办法坚持刷完169题,即便上课了,也很难跟着刷完培训课的题目。
2. 刷题篇
应该有不少人都知道有一个blind75的leetcode list,这个list的创始人建了一个网站,现在有169题,大家可以先把这169题刷的透透的然后往下走高频300,高频500.
重点:5分钟没思路,立刻看答案,尤其是新手,没必要死磕,因为就算死磕出来了,下次遇到了还是一样不会。刷题也有记忆曲线,我三个月刷题量有350题左右,但是submission超过了1600,揍四记不住啊,但是你会发现超过300题之后,面对新题就有思路了,而且面试官给提示之后坑坑巴巴也能写下来。
推荐使用gitbook.io写做题总结。我在高强度刷题的时候还买了两个timer,一个设置20分钟,一个设置40分钟,对于medium或者easy新题,尽量20分钟,对于hard新题,设置40分钟。
1) Grind75之169题:https://www.techinterviewhandboo ... eeks=26&hours=8
2) 高频300: https://gist.github.com/Windsooo ... a93af2665206c4d4ae9
3) 高频500: 链接找不到了,放在附件中了
4) 刷题视频:花花酱,neetcode,古城算法(最喜欢他的关于股票题目的视频)
5) 刷题总结:Labuladong的算法小抄:https://labuladong.github.io/algo/ . 1point3acres.com
3. 系统设计篇
对于没有一点工程经验的人来说,确实比较吃亏。系统设计我看下来,感觉比刷题要容易,绝大多是时候就是那么几个组件放到合适的地方,比如说
Queue,NoSql database,Redis等。我几乎所有面过的SD都要用Queue。我是通过JZ的课入门的(不是托!),然后看了Alex Xu的卷1,卷2没怎么看。大概看了一下
Grokking the System Design的课。印象比较深刻的就是Kafka考的比较多,然后还有一个design time series based database也比较有意思,这个是我之前没看过的领域,比如说如何设计一个consume system log or metrics data 的系统,把这些数据整合到一个table中便于query。
资料:还在想办法上传,一亩三分地不能上传大资料
结语
大家在上岸之后,一定不要只是闷头干活,我们喜欢把ownership和delivery放在第一位,忽略了communication。我从一个PM那里学到的最重要的一课就是在做项目的时候不要只是TA说什么你就做什么,也不要把meet deadline视为重中之重,而是要和PM讨论TA的要求是不是合理的,你是不是有更好的提议,多想多说有时候比快速结束项目的impact更大。
. From 1point 3acres bbs
本帖子中包含更多资源
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
上一篇:
snap会是第一个倒下的么? 下一篇:
亚麻貌似新政策,sde1只给18个月时间,否则pip