6 [5 X) {+ m1 I, ]/ [5 R就业的话,本文标题是码农,实际是指所有计算机相关的技术工种。包括开发、测试、运维等。 3 }8 e ^1 H* y & S' q, r6 F( i+ I4 `很多选择本身并没有对错或优劣,只有适合不适合。9 X6 R& n& W; M' E+ Q8 N; i' E
( s4 S7 O) l' g- I! h8 s
不要滥用勤能补拙,这个词语一度被很多人奉为圭臬,但同时成了枷锁。我相信这个词,但是要考虑现状,要考虑投资回报率。你在自己并不擅长或不感兴趣的领域深耕了四年,最后不一定能获得多少成绩。当然如果你能在毕业后继续深耕几年或许是可以的,但是我希望每一位大学生在毕业的时候都能有一份好的工作,并且如果你并不喜欢某一领域的话,那么我相信你一定不会坚持下去。所以我们一定要找到适合自己的方向!, C) j2 O3 S# ?3 y
% ~9 [5 L9 |# D; \! W那么如何发现自己对什么感兴趣呢?我也不知道很好的办法,我只知道一个朴素的方法——尝试。趁着年轻,就要多尝试。千万不要大三了都还不知道自己兴趣在哪,想做什么,适合什么。所以大一大二努力去碰钉子吧。, p' X$ U4 V& k# V, n
- r5 B$ G9 [/ p3 H# S
1.2算法还是开发# b. H9 K' w* ^6 K( w* }0 y( Q
J# ^' U* F. k
数据结构和算法很重要,无论是面试还是工作,无论你从事哪方面的技术。不过算法虽然重要,但并不适合每个人都花费大学全部的精力去钻研。 * S$ ]& k% t. K8 J $ ^" c! n% @( v4 u* u相信很多学校都有ACM竞赛相关的社团或组织。很不幸,我们学校没有,我大一的时候也花了很多精力刷题,但是硬件条件不太允许,氛围太缺乏。如果你觉得自己能够在ACM比赛中游刃有余,那么恭喜你,你可以一心一意搞算法。如果你觉得自己在这个过程中十分吃力,挫败感频生,那么也不要气馁,或许有另一条路是属于你的。选择开发,有算法功底深厚是很棒的事,但是仅仅只有算法同样是不够的,计算机海洋还有很多未知等着你探索。: P& f! B/ a3 \0 p& W& L) D0 ~
) X s5 M3 a/ C/ g' {
算法岗包括数据挖掘、机器学习之类的(怎么样,高大上吧,反正我不懂)。要说明的是想做算法的同学最好选择读研继续深造,因为大企业在算法岗的招聘上对本科生是很不友好的。还是要申明一句,你做开发也不能忽视算法和数据结构,起码面试还是经常考的!记住一句: - a1 S R2 M% t7 S, O' u/ r F9 F1 x" C& x/ l
算法功底好的人,运气都不会差。! d) q$ g7 }. x( j
8 t- |: ?7 w! k) v( \对于本科生而言做开发还是相对容易的一条道路,不过开发的技术路线也是不胜枚举:前端、后台(PHP后台、java后台等等)、移动端(安卓和iOS)、游戏开发、数据库(比如做DBA)……。这里我肯定不会去推荐你去学哪一种,我没有能力也不适合。只有你自己才能发现自己的兴趣以及好奇心之所在。& i1 P% K' ^/ R+ d
5 w z! W. a' K) `; l3.求职准备 0 u2 E* t, Q+ s3 [. }. f + }) \- l& P; s$ X; E3.1早做规划1 {* x# J6 y% ~4 X& F5 S
8 Q u, U1 C' p# l# {, X
关于求职,一定要早做规划,最起码在大三开始就应该定下求职的规划。举个例子:1 a7 L; O$ ?3 |) p F
8 d& t* c; b C2 D* v1 r我意识到自己直接参加大四的秋招可能有很多不足,但是如果我找一个大三的暑期实习应该相对秋招要来的容易,并且实习留用的概率也比直接秋招通过的概率高。退一步讲,即便我实习不能留用,我已经有了实习经历,勇气真的很重要,那么我再去参加其他公司的秋招胜算也会大很多。 - g/ y6 }, G& T7 I- | b5 R* D) C$ V" f2 _5 \5 [' X2 F$ K
自己的短板一定要早点发现,然后及时找到弥补方案。比如你项目经验匮乏,那么你就应该在其他地方找到填补,例如:把基础打牢(从上层应用到底层原理),深入了解数据结构和算法,阅读开源项目源码等等。 - ?8 i c/ G2 a0 \, E# r. b; t- ^3 D+ q
俗话说“知己知彼,百战不殆”,你应该找个时间(不需要太早)去看一看你所关注的公司往年的笔试题以及面试题。网上有很多笔经面经可供参考。) L/ L7 I- @& G7 m
$ a' h, R L: Z! p* C; B; S
其他的规划还有很多,比如你大概什么时候开始就应该频繁关注各大公司的招聘信息,什么时候开始海投。如果你准备去外地面试,那么提前给自己准备好足够的钱,不仅是车票,面试过程可能会持续几天,需要住宿之类的。 5 g2 `* d1 J+ @8 U 2 H1 q% U; ~- M* W$ b. W# j' e3.2关于刷题' Y8 C* V9 t, [0 N- Z
- ^. d% D" g5 q9 K" s1 r
这是个见仁见智的问题,如果你基础足够好,那么大可以不要花太多时间在刷题上,但是我也建议你读一读《编程之美》、《剑指Offer》、《程序员面试宝典》、《程序员面试金典》之类的书来熟悉一下题型。" H+ K1 V' _! \4 `. K+ w9 j
# C! u# |! f9 F3 Y( `, i$ c2 @ O2 S
吐槽一下,我当时看的《程序员面试宝典》是第4版,不知道为啥出到第4版了,错误还很多。前半部分还好,值得一读,后面就不敢恭维了。大家读书一定要警惕。, f9 f% x( b1 C0 A
0 Q$ f' T% b/ Z% Q" C/ b6 ?% h0 I
如果你基础不太好,那么刷题就尤为重要了,虽然有点取巧,但也不失为一个办法。 9 B4 |- {5 V9 \4 u2 ^7 \) h- ?0 B& d
这里提一下C++,即使你投的岗位不是C++(是Java或其他),那么笔试的时候遇到C++的概率也是很高的。这是因为考察C++更有区分度,更加便于筛选,所以希望大家尽量突击一下C++。当然,不同公司的选拔风格不一样,所以还是多参考一下他们往年的笔试题吧。(前端的话应该考不到C++,这点我不了解) ^+ j: I, C# i ; l2 ~8 K! ~4 O- x3.3鼓起勇气 - u8 s( U1 h J. I/ T. W" m( ^, M: Y( B0 j
之前我们学校本科生进BAT的很少,可能要隔一年才有一个。但是其实并不是我们学校学生真的这么差,虽然我们学校不怎么样,但不代表我们学生的素质就是如此。原因很简单就是缺乏勇气。我曾和一些学长学姐共事过一段时间,他们对于BAT以及其他的互联网大厂,都是想都不敢想。我也曾经羞于说出自己的梦想“进入BAT”。/ q3 z( n; a( d Z) G% ~
' o$ A* @9 o* f2 n# |' `3 M, P" ^所有互联网大厂都是不会来我们学校所在城市(南昌)招聘的,我们要想面试这些企业都要去省外城市(比如武汉)。异地面试也是给很多人心中造成了无形的压力,觉得跑这么远,要是面试失败咋办,觉得不仅丢了钱还会丢面子。其实很幼稚,每个人都应该尽自己所能找到最好的工作,没必要想这么多,你丢掉的钱,迟早会得到更丰厚的回报。你丢掉的面子,迟早也会获得欣羡的目光,最差的情况你也能告诉自己“努力过了,争取过了,失败了也不后悔”。 # g5 ?+ ?3 T& g* k' R 2 l5 ~ ]+ M5 A8 v; X3 |6 ~, s想我当初可是在武汉面试蘑菇街一面就挂掉了,然后三天之后又收到了腾讯武汉面试的短信。你说我去不去?6 d- @" L. x' x) I& n) \8 ]
+ ]5 X b# S# f+ o6 N+ k
“蘑菇街你都挂了,你还要面腾讯?” / b2 E# [9 O$ I+ h1 G1 A/ U. b8 k9 U( K# x
我去,我一定要去。 $ y3 h$ o2 v8 f) A ( _+ [, k# N1 a9 K+ s还有一点就是不要害怕自己学校差(普通一本甚至二本),不要嫌弃自己学历低(本科)。首先研究生们在算法岗方面确实你本科生有优势,但是在开发岗上并没什么差别。然后大公司招聘虽然喜欢招聘名校的毕业生,这只是因为仅仅通过半个小时或一个小时的面试,面试官真的很难了解到你的全貌。而如果你是名校的学生,那么无形之中就在证明自己的能力,首先你能考上这个学校就说明了你的学习能力,然后这个学校师资力量,办学条件十分优厚,确实能助力学生的成长。如果你学校一般,那么面试官可能觉得你学习能力有欠缺,或者觉得这样一个学校并没有好的条件去培养你。 9 p% Q, l$ s/ K% _# W6 q9 P" }# \( f% w* T
但是这绝对不是全部。你是普通学校的学生,并不代表你没有足够的学习能力,没有掌握足够的职业技能。你需要做的仅仅是努力向面试官展示出你的学习能力,你所掌握的技能就好了。我有一个老乡,二本学校,但是去年收割了BAT的offer,其中霸面百度拿了specialoffer。他大学期间就做了很多事,做了很多项目,还开办工作室等等。这些大学经历以及项目经验写到简历上,和面试官一聊,那么面试官真的不会在乎你是什么学校什么学历的(网易除外)。 # O# C) C. |7 Y, d# \6 Z4 E& Q0 n" w& A" G
同学们,鼓起勇气,干巴爹。 {" v: S* P+ e# ^. J8 k W& e