TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
1.确定方向
7 f3 }% O8 n' G3 v- v8 I5 }7 d& P! A4 n' Y! c7 I3 S- P# f
1.1选择比努力更重要, \+ j. P( ] V8 C- O2 N
- J( ]5 `' p! m% I S% f关于方向的选择其实越早确定越好,生活中我们要面临无数个选择,前几天看的一个黑客相关的美剧中有句台词说的不错:' Y* \: A4 }& N4 ~
: ?9 D7 C. R( C& M, Clifeisbinary,生活就是二进制,一个个0101组成的。每一次抉择,选了就是1,不选就是0。另外也有一句话说:“人一生要面临很多选择,但是真正能决定你命运的只有几个”。没错其实就是这样。
; |8 H3 z, d: L$ N" I9 @4 B$ Y9 t
9 l/ |* m k4 f, r) R如果你是计算机专业的学生,那么到底是考研还是就业就是首先要面临的问题。本文是面向确定了毕业要工作的大学生的,所以关于这个抉择,不再赘述。6 w# R* d9 }3 E, g/ W7 {
# \% B# z1 V3 c, |* X5 K% c就业的话,本文标题是码农,实际是指所有计算机相关的技术工种。包括开发、测试、运维等。: D$ H3 E- D) k( a7 U! u
% P! f8 R+ q% N# }很多选择本身并没有对错或优劣,只有适合不适合。" Y& m( L" a [+ {: ^
. ]9 M6 {7 s6 A
不要滥用勤能补拙,这个词语一度被很多人奉为圭臬,但同时成了枷锁。我相信这个词,但是要考虑现状,要考虑投资回报率。你在自己并不擅长或不感兴趣的领域深耕了四年,最后不一定能获得多少成绩。当然如果你能在毕业后继续深耕几年或许是可以的,但是我希望每一位大学生在毕业的时候都能有一份好的工作,并且如果你并不喜欢某一领域的话,那么我相信你一定不会坚持下去。所以我们一定要找到适合自己的方向!
, R9 J5 M4 a+ g: ~/ V/ @- }
; x, m2 o! X+ j3 C那么如何发现自己对什么感兴趣呢?我也不知道很好的办法,我只知道一个朴素的方法——尝试。趁着年轻,就要多尝试。千万不要大三了都还不知道自己兴趣在哪,想做什么,适合什么。所以大一大二努力去碰钉子吧。
0 p' n9 ?. K! D# O& N
3 |$ N; D$ y# ] k1.2算法还是开发
7 U! f% i: C$ J
2 w x8 k* l9 x数据结构和算法很重要,无论是面试还是工作,无论你从事哪方面的技术。不过算法虽然重要,但并不适合每个人都花费大学全部的精力去钻研。4 }' Z! Q: C6 q" U$ L: w
* e0 i# Z' R0 p9 w相信很多学校都有ACM竞赛相关的社团或组织。很不幸,我们学校没有,我大一的时候也花了很多精力刷题,但是硬件条件不太允许,氛围太缺乏。如果你觉得自己能够在ACM比赛中游刃有余,那么恭喜你,你可以一心一意搞算法。如果你觉得自己在这个过程中十分吃力,挫败感频生,那么也不要气馁,或许有另一条路是属于你的。选择开发,有算法功底深厚是很棒的事,但是仅仅只有算法同样是不够的,计算机海洋还有很多未知等着你探索。
& Y3 r# e2 [, \) ?: e9 y* ^" ] X/ r3 e: n: n
算法岗包括数据挖掘、机器学习之类的(怎么样,高大上吧,反正我不懂)。要说明的是想做算法的同学最好选择读研继续深造,因为大企业在算法岗的招聘上对本科生是很不友好的。还是要申明一句,你做开发也不能忽视算法和数据结构,起码面试还是经常考的!记住一句:4 M( O [$ y& n' \: c+ U7 ~
5 r1 L* w" q2 A5 }' u; g6 _* Z
算法功底好的人,运气都不会差。% L. Y# ~9 q; X% x2 [
/ _! x$ f( ~4 o! O& x a
对于本科生而言做开发还是相对容易的一条道路,不过开发的技术路线也是不胜枚举:前端、后台(PHP后台、java后台等等)、移动端(安卓和iOS)、游戏开发、数据库(比如做DBA)……。这里我肯定不会去推荐你去学哪一种,我没有能力也不适合。只有你自己才能发现自己的兴趣以及好奇心之所在。7 @* P# \! I4 Q3 b% o: @. x9 t* A
7 c- }$ `& B, g& B/ f我能做的只是在浩如烟海的技术观点中,帮一个个本科生排疑解惑。! P/ ?5 f. a y6 R8 o+ y) H% [4 F
5 i7 i8 x5 Q# [- E" p u* f1.3认识技术: M9 P( a7 w! o, F% E
- L$ x7 T7 Q4 _5 w4 B7 S7 ?8 P
关于技术,很多本科生都存在诸多误区。初学者总喜欢追随牛逼的技术,实在过于盲目,找准自己的定位最重要。
$ d6 I/ I- N6 x9 @" ?$ Q$ J: J3 l2 e/ t, h
误区1:图形化的东西比非图形化东西更牛逼8 e( D" j. c4 z# K2 y2 d S7 E8 I
1 m5 r2 D3 c1 Y V1 @1 S4 l0 h% {
多见于初学者,尤其是计算机专业新生(我大一的时候就是)。当时学校教了点C语言,一直都是控制台程序,面对黑窗口,我就各种百度看看怎么弄出图形化的东西,那时候才知道GUI这个缩写是啥意思(当初知道这个缩写的全称还小激动了一下下,果然我还是太年轻了),然后知道了WIN32、MFC这些名词。。确实只能说是知道名词。当时对着视频教程做了计算器,就是用VC++拖拖控件,视频里的人敲一句代码,我就敲一句。后面虽然弄出来了,但是感觉自己什么都不懂,只是依样画葫芦。这时我才意识到,还有很多基础没有打劳。
0 X% @" s+ c( t: z( l, n% M# _7 v( F3 `2 _
八卦一下,现在桌面客户端的开发工作并不多,所以大家谨慎选择这一技术方向。桌面端GUI技术一度火爆(MFC、Qt、WinForm、WPF、Swing……),但如今早已是互联网及移动互联网时代。所以大家真的要慎重选择。不过还是可以学习一下的,至少能加深你对编程语言以及设计模式的理解。5 P* J7 E; n5 `( v8 L- U& M I2 b0 @
) h3 i8 K& ?4 A7 U' `) F* \# w. f+ M, m
误区2:非图形化的东西比图形化的东西更牛逼
/ x. H2 [/ ~& ~: z- c1 V
. |- v$ m9 l( J具体而言就比如说:后台技术比前端技术、客户端(Android、IOS)更牛逼。多见于有Linux背景的人(没错,说的就是我=_=|||)。
. N/ e9 m7 ~+ v+ {, n1 v' m; w, |7 r' V4 l m3 H3 T
我也一度这样认为,其实不然。这里和上一个误区一起澄清一下:技术本身没有高低优劣之分,但程序员对其有好恶之别。( b2 j" w/ D# I8 y- B& }9 a
2 U; x1 J8 q) d* U, y+ [5 T; ^
另外要说明一下,不能说前端就简单,后台就更难,同样反过来说也不对。我只能说这完全是不同层面的东西,不能量化的去比较。前后端都自有其难点以及G点。你不能说你能处理后端复杂的并发、同步、高可用,那么你就能轻松地完成美观的网页及特效、处理麻烦的浏览器兼容、极尽所能地降低页面的加载速度。就好比同样是一双按在键盘上的手,那么钢琴家演奏优美的乐曲和程序员开发高性能的软件,哪个更困难?(比喻不一定贴切,但希望大家能明白这个意思)" N* ?# ^; f% C: s3 Q ^6 U/ {
" N% a3 F5 g- {1 Y$ w误区3:XXX是最美的语言/框架/平台/……
9 G% h' }0 w7 v. C! N% i, |
9 K" N" ^. H$ G多见于PHP程序员。哈哈,开个玩笑。这里不是在谈论谁是最好的语言,而是告诉大学生朋友们不要迷信论断。
, G7 B: y4 W e- G! `! x9 b% k! v) ~5 m1 [4 E
我大一的时候去图书馆看书,看到有JavaWeb的书,前言写的很清楚,痛陈了PHP和ASP.NET的缺点,阐述Java是多么优秀,OK。你可能也和我一样,在入门的时候经历过类似的事。我要告诉你的事,多翻几本书,你会看到ASP.NET和PHP书籍的前言写的同样精彩,你绝不会在ASP.NET的书里看到夸耀Java的句子。不同的技术自有其优劣,千万不要成为前言驱动的学习者。。( v' {* U0 B" b3 n
9 C" N, Y' b6 c8 E! ~! F1 a
继续八卦一下,虽然说不通技术自有其优劣,但是就目前国内形势来看,学习Java绝对是不错的投资,Java后台几乎占据了中国互联网企业后台的半壁江山。而.NET技术确实日薄西山。不过PHP现在依然有很顽强的生命力。& f( s: w6 y: M" H( z% ]
4 G6 ^& F3 S+ ~4 Q
另外还有一些经典论断:4 W* G, J) X- W
2 y D" G# n9 C c. W4 {5 ~& r; s- mLAMP架构只适合中小企业;
6 i8 A5 U( T3 L: J% Q
* S$ r! [! M/ p9 t, t/ I0 u1 ?6 x% {MySQL只能用于中小企业,大企业都用Oracle。等等。
- E1 K+ ~# I; x2 O; k- S" P0 F. G; g( q, e8 E
这些论断从技术角度出发,确实无可非议,但却并不客观。见过一些朋友,对MySQL充满鄙夷,觉得MySQL很容易出现瓶颈之类的。其实我想说,阿里、腾讯都大量使用了MySQL。别问我为啥MySQL被这么大体量的公司采用(无外乎开源的好处和历史原因啦),我觉得,只要技术够屌,什么瓶颈都能克服。。
3 K0 }( k# I+ u/ R+ G
' i5 f* m' _8 u Y2 M. Y4 h2 F程序员& o3 o: {& i U+ z; B. r, Q' }, }0 }
3 t" Q$ \; a$ w; X( c z$ Y
2.学习那点事. s2 T7 ?* W a3 D& u
) z1 _9 N* T4 l8 V: N# L! z( [4 V( D5 c
2.1关于逃课
+ y; B. e$ }% a5 O# m
2 B5 x) B! o( S; ]相信每一个大学生都逃过课,我也不例外,而且很多。我在谈逃课,其实也是从某个侧面来谈自学。之前有个网友和我咨询如何面试,如何准备之类的,他已经大三了。学校的课程完成的不错。但我感觉他还欠缺很多。要想找到好工作只靠老师教你那些东西是不够的,跟着学校的进度走,其实只会让你落后。我并非一味的鼓励大学生逃课,我的观点是要选择性的逃课(如果是好课那么即使不开课也要去蹭课的)。哪些课要逃呢?* g+ Z' ]: Q. j3 ?' ~ K* O
9 N" Q2 H$ i. T5 N% n& u, |1.无聊的课程。比如思修、毛概、马原统统要逃。别急着反驳我,就是逃课而已,不要形而上。我不是党员,也没有申请过。数学相关的课程,我只想说量力而行,数学确实对于程序员来说还算重要,但是不同岗位对数学的要求又不尽相同,你能应付就好好听,不能应付就。。
7 D3 F" _8 c# s* b6 L3 @+ A2 m, E
; W$ r5 ^" {. @6 n2.与你的技术方向无关。这个就要看你是不是计算机专业了,如果你是其他专业学生,但是对计算机感兴趣,相信很多课都是可以逃的了。或者比如你的技术栈是建立在Linux基础上的,但是学校有一门MFC编程的课,你有兴趣又有时间可以听听,没时间就逃,OK的。这个也是有个前提的,就是你能清楚的明白哪些课程是对你有帮助的。你说:“我学C++的,我把数据库的课逃了”。=_=||别说你读了我的文字。。
# W' o8 H- B% V" ~, |. G, `- s, }/ @( @$ ~4 ]! z
1.你已经掌握了的。相信会自学的孩子,都有这种情况,那就是在学校开课前,你就自学过了某门课程。那么等到开课以后你就可以逃了,我就是这样逃了Linux编程的课。当然你要清楚的了解自己到底掌握了多少,不要自己是一知半解,还自以为懂了,就不听课了。其实要逃这种课,你也不需要懂得太多,你只需要保证你比老师讲课的水平高就行了。我们有的老师,水平真心烂,不逃课对不起他。
* e( N* a! t5 a# [8 ~8 e6 w
3 |$ [+ @4 k9 C+ \6 \! m4 r- N但是很多学生总是走极端,说到自学就一点课都不上了,看不起学校的课程安排。自己在寝室学个把月就能轻轻松松地做出网站或者APP。但是我想告诉你,你能做到的,别人同样能做到。有一句话说的很好:5 g+ m; ^$ f, w6 I4 L. e
* V" ?1 U! G8 E9 x
你的工资不是和你的工作时间成正比,而是和你的不可替代性成正比。) {+ R7 L" \' V( [9 Y
7 j$ J: S; x6 i& s ^( F) }: N
你和培训机构几个月量产出来的程序员差别在哪?仅仅是你没有给培训机构交学费吗?但你的技能和他们是差不多的啊。所以说学校教的基础课是很重要的,最直接的好处就是笔试,笔试考的就是基础。然后这对你长期的职业发展也是很有帮助的。你工作几年之后(可能就是一两年),发展肯定会遇到瓶颈。
" G$ U! l/ L. r+ @0 }: ]: ~ T" G' l& O$ T
2.2关于读书
& r$ [7 o, _' N" K- ~
, y- G J! u5 m+ C多读书,读好书6 I( D" J" \+ Y
" y8 ?$ J& K& v. X% ~
这是一句老掉牙的话了,但是事实就是如此,阅读经典书籍,你的投资回报率其实远高于阅读低质量的书籍。那么什么是低质量的书籍呢?比如《21天精通XXX》之类的。但是不管读什么书,都不能盲目跟风、囫囵吞枣。在网上,生活中经常看到各种索要书单的网友,借鉴别人的书单是可以得,但是直接照搬照抄则是不明智的。因为每个人已有的知识储备是不一样的,别人阅读的书籍不一定适合你。所以阅读合适的书籍也是一种重要的命题。$ ?- _6 K8 s* X+ P$ S2 x2 w& ]. q% i
8 B; h4 W1 |9 ]. `阅读合适的书籍
# o, ^! s* }9 N3 Q
* @9 j8 C$ Y+ i- e& x i" S那什么是不合适的书籍呢?我认为有如下几类:- |: C/ E6 B$ n9 E( [
, B0 ~3 W+ c8 @7 |1.与自己的技术栈毫不相干的。这相关与否是建立在你已经做了清晰的职业规划的基础上,并且通过搜集信息能够自己辨识哪些是和自己的技术栈相关的,哪些是不相关的。当然,我并不是鼓吹大家技能点越单一越好,技术人员当然需要不停扩充知识面,但是对于大学生而言,这要建立在你在主要的技术栈上的积累已经足够多的时候(足以应付面试),不然东一榔头,西一棒槌,最后只能样样稀松。
" Y, e9 X# t4 e% e, ^2 n
6 j3 _1 [. C% A$ _1.超出自己能力范围的。虽然我前面说要读好书,要读经典书籍,但是一定要量力而行。很多经典书籍的阅读需要一定的基础,如果你只看到了别人对这本书推崇备至就开始强行阅读,最后通常也不多是走马观花,像读小说一样读完了而已,最后什么都没学到,还浪费了时间。老子说“企者不立,跨者不行”就是这么个道理。
( D# p# |8 r" v3 i& Q
/ }# a/ K, d1 {0 |6 |1.知识点与自身已具备知识过度重合的。面对一本经典书籍,可能你已经具备了那本书中所阐述的绝大部分知识,那么还有没有必要读呢?我的建议是:可以查漏补缺,但不要通读。很多经典书籍,单拿出一本来说都是值得阅读的,但是放到一起就不一定了。因为两本书籍可能70%甚至80%的内容类似,这时你读完一本,再通读另一本就没有必要了,比如我读了《C++Primer》就没再去读《C++PrimerPlus》了。当然你可以阅读不重合的部分,这需要你有较强的辨识能力。: N8 D! @$ h. q1 z$ ` |% G8 p
8 e9 i; _4 Y- T+ l3 v
《C++PrimerPlus》虽然从名字上看起来像是《C++Primer》的加强版,但其实并不是。它们是不同的作者,并且从风评来看《C++PrimerPlus》貌似比《C++Primer》还要基础一些。。/ h3 D! h9 `) T J
4 |: U5 K6 W4 C. |! \/ P# a2 J
善待图书馆3 O% M+ D; ~4 \3 Q( I; ]
. X' ~, j9 F ~ k# ]
请大家一定一定要善待图书馆。说实话我大学几年对我们学校并没过多好感,但是唯一让我不舍的就是图书馆。相比电子书,我更喜欢那种手指翻阅纸张时那种真实的触感。大学临近尾声,这几个月疯狂的去图书馆借书读书。上个月竟然发现图书馆新购入了好几本好书,可惜的是我实在是没时间读了。哎,突然发现自己一直以来都是不太会读书的人,从大一到大四都借过不少书,但真正能读完的并没有几本。当然了,前面我也提到了,有些书是不适合通读的。但仍旧有很多需要通读的书籍被我丢弃,直到最近几个月才认认真真地读了基本完整的。4 P" d. L; s" _" C1 o
@ r" g1 J6 N* ]/ j6 I1 |6 g/ X
“书非借不能读”
5 U1 L* ~0 n% W7 A
% u8 k2 n S/ d很朴素的一个真理,借的书因为是时间限制,所以会逼迫你阅读。而如果是你自己买的书,你潜意识就会觉得“啥时候读都一样”。当然这是对自制力不强的同学们说的。# N1 D5 n& h; q7 B; y* W
9 ], p, U/ @( b& V2 m2.3打造自己的技术栈
) H; i3 x0 R+ u5 Y& W9 B; w" a( _( [7 O2 g/ n6 [" T3 A- N4 Q/ d3 v
技术栈,或者叫技术体系、知识体系。首技术栈起于编程语言却又不止于编程语言。你可以多尝试,然后找到自己喜爱的技术方向开发深挖。然而很多学生通常会在起步的时候就陷入迷茫。在网上看到过一个人,想学web开发,各种调研,然后向别人征求意见该学哪门语言比较好,哪个框架更有优势。后面大概过了半年,他还在纠结该选哪一个。。
( a( |1 j9 ~7 O7 e X5 d! j I/ w8 D7 ?; J" y1 D# h
我只想说:先跑起来。语言很重要但并没有那么重要。无论语言还是框架这些都是工具,在这些工具的使用过程中提炼出的思想、方法、认知才是你的能力。有了能力,即使你换了语言,换了框架照样能快速上手。我觉得大公司一般不会计较你对某一框架的API熟悉不熟悉,他更看重的是你对框架背后的设计哲学和原理是否了解。7 p$ B1 L3 v( V3 |6 j- f! y A- r6 ~
+ W' k m+ k) I) P" w技术栈就像一棵大树,树根可能是操作系统、网络、算法、数据库。再靠上一点是编程语言。接着树干就是你的职业方向,可以是安卓、IOS、前端、后台等等。别忘了还有树枝和树叶。技术没有孤岛。把自己封闭在闭塞的圈子内十分危险。你应该是具备了深度的同时再拥有广度,请注意拥有深度是前提。
4 _2 ]+ c0 f- w: w* M4 z- u
& Y- O I. P! u; `& a0 a+ q$ v没有什么东西绝对该学或者绝对不该学的,切忌盲从,照搬照抄别人的学习经历,强迫自己看别人的书单。谁说你是后台的就不能看前端的东西?在你后台技术成熟之后是可以的,这样也能加深你对整体架构的理解。; ~, ~" @) |1 b# m9 ~' T0 R+ x
% L0 Z' n" S! B. I+ @7 q
另外这些树枝和树叶上悬挂着的也可能NoSQL、Git或者Docker等,你不需要在每个方面都是专家,但你应该对新技术抱有好奇心。
9 u7 D C) s; ~: R3 T2 H6 K5 ~
$ a6 a8 e! c. c* o. R c+ D5 R2.4深度思考和提炼
% l$ H! @ y5 N& f; ?7 f( D: a: ~4 I) ]# m
不管是前端还是后台,框架都是层出不穷的。每个都学,谁都会疲于学习。但实际上你并没有必要这么做,对于一个框架,记忆它的API永远是最低的技能,你要从中提炼出一些共性的知识点。比如后台框架,你学了之后你要记住的应该是URL路由、模板、权限控制、MVC的设计等等。那么你换一个框架,即使有不同,你也能快速上手,思维上只是换一套API,接着补一下个别差异,新特征而以。对于编程语言的学习也是如此。
( P5 V) O3 p7 r& {! X- n; d5 }1 B
C++的STL里面有各种算法,很多时候参数的参数都包含一个函数对象(实际为重载运算符()),这就是函数式编程啊。学了JavaScript,你会感觉到很多时候其实也都是在进行函数式编程,并且比C++更甚,尤其是jQuery这个库的用法。提炼出不同语言之中的相似处及不同点,不仅能帮助你学习新语言,并且能帮助你巩固旧语言,加深你对旧语言的理解。1 B- L. [: d7 Z
4 _: T" Q3 F) V另外呢。计算机学科的很多课程其实并不是完全孤立的(虽然可能看起来如此)。你比如说操作系统课,讲链接和装载,这肯定和C语言编译的可执行文件有莫大关联啦。讲内存管理,分段是啥?你不知道C语言里面数据段、代码段、等等吗?内存的分配策略和分配算法,其实C语言里面malloc就在使用这些策略啊。大家一定要学会在不同课程之间建立联系,这是一件很有趣事。( Z2 }6 y x2 G
- ~# d- b6 Y j ]5 N3 s
3.求职准备2 F8 G% {: q- R
9 X& Z5 G5 @" c/ o0 r
3.1早做规划
1 A6 V$ m0 G+ I6 W6 d* Z! l
3 _& H1 E& {# ^) {关于求职,一定要早做规划,最起码在大三开始就应该定下求职的规划。举个例子:
6 `. J; @+ ]" u/ b. e/ V3 F% M! M: P+ a; u3 e0 u
我意识到自己直接参加大四的秋招可能有很多不足,但是如果我找一个大三的暑期实习应该相对秋招要来的容易,并且实习留用的概率也比直接秋招通过的概率高。退一步讲,即便我实习不能留用,我已经有了实习经历,勇气真的很重要,那么我再去参加其他公司的秋招胜算也会大很多。- l% V$ I" `% ]7 J7 T
' y* E& [4 X" }! R C自己的短板一定要早点发现,然后及时找到弥补方案。比如你项目经验匮乏,那么你就应该在其他地方找到填补,例如:把基础打牢(从上层应用到底层原理),深入了解数据结构和算法,阅读开源项目源码等等。7 E& v) h9 R- ^
7 L% w0 L; D" |5 V- x9 u( I7 u俗话说“知己知彼,百战不殆”,你应该找个时间(不需要太早)去看一看你所关注的公司往年的笔试题以及面试题。网上有很多笔经面经可供参考。. O7 j' W- S" r/ [' Q7 M, b% T
+ C1 J( ]% F+ R1 Z @其他的规划还有很多,比如你大概什么时候开始就应该频繁关注各大公司的招聘信息,什么时候开始海投。如果你准备去外地面试,那么提前给自己准备好足够的钱,不仅是车票,面试过程可能会持续几天,需要住宿之类的。
/ }* m! o$ J" ^2 d, S* ]5 `. t! q# }# U j4 I! b* J! m
3.2关于刷题
% S4 P3 s% y' F6 S1 \* g: i: K. c# B$ n
这是个见仁见智的问题,如果你基础足够好,那么大可以不要花太多时间在刷题上,但是我也建议你读一读《编程之美》、《剑指Offer》、《程序员面试宝典》、《程序员面试金典》之类的书来熟悉一下题型。2 b/ E: d2 A& R, R: M0 f; F
3 N! _3 ?" ]: _& `7 ?吐槽一下,我当时看的《程序员面试宝典》是第4版,不知道为啥出到第4版了,错误还很多。前半部分还好,值得一读,后面就不敢恭维了。大家读书一定要警惕。' `9 Y8 D' n, u7 \& F: M
" |5 Q5 M6 ?9 E* T
如果你基础不太好,那么刷题就尤为重要了,虽然有点取巧,但也不失为一个办法。
; r* Q" ]; [% J: T0 C# r2 j* w1 T3 \: k7 N8 w2 T
这里提一下C++,即使你投的岗位不是C++(是Java或其他),那么笔试的时候遇到C++的概率也是很高的。这是因为考察C++更有区分度,更加便于筛选,所以希望大家尽量突击一下C++。当然,不同公司的选拔风格不一样,所以还是多参考一下他们往年的笔试题吧。(前端的话应该考不到C++,这点我不了解)
j9 v9 E* X& `; t
, g: x" l8 A0 l/ L t& e5 S! j3.3鼓起勇气
0 ]0 v9 L4 M) ^% w/ L0 r: l
* q- O" F( e; Y2 G- }4 u- s7 M; S之前我们学校本科生进BAT的很少,可能要隔一年才有一个。但是其实并不是我们学校学生真的这么差,虽然我们学校不怎么样,但不代表我们学生的素质就是如此。原因很简单就是缺乏勇气。我曾和一些学长学姐共事过一段时间,他们对于BAT以及其他的互联网大厂,都是想都不敢想。我也曾经羞于说出自己的梦想“进入BAT”。
3 W. [3 L x0 N
T& C5 S6 p N. }( @* A9 e所有互联网大厂都是不会来我们学校所在城市(南昌)招聘的,我们要想面试这些企业都要去省外城市(比如武汉)。异地面试也是给很多人心中造成了无形的压力,觉得跑这么远,要是面试失败咋办,觉得不仅丢了钱还会丢面子。其实很幼稚,每个人都应该尽自己所能找到最好的工作,没必要想这么多,你丢掉的钱,迟早会得到更丰厚的回报。你丢掉的面子,迟早也会获得欣羡的目光,最差的情况你也能告诉自己“努力过了,争取过了,失败了也不后悔”。8 ]# r( Y8 U* z6 M# T
. Z4 G& N/ ?; _4 ~* \& E- q
想我当初可是在武汉面试蘑菇街一面就挂掉了,然后三天之后又收到了腾讯武汉面试的短信。你说我去不去?
% B [8 R- j1 d) [- [, H ]: F, @0 k- V4 f! V0 x
“蘑菇街你都挂了,你还要面腾讯?”
9 m5 F. W6 y* p j8 q I! s6 o+ z
7 w. Y+ O2 Q2 G8 t- }- M' U; @我去,我一定要去。, B' Y( ^* y' C6 M! m h
/ B- m4 z) L m" X6 m- T
还有一点就是不要害怕自己学校差(普通一本甚至二本),不要嫌弃自己学历低(本科)。首先研究生们在算法岗方面确实你本科生有优势,但是在开发岗上并没什么差别。然后大公司招聘虽然喜欢招聘名校的毕业生,这只是因为仅仅通过半个小时或一个小时的面试,面试官真的很难了解到你的全貌。而如果你是名校的学生,那么无形之中就在证明自己的能力,首先你能考上这个学校就说明了你的学习能力,然后这个学校师资力量,办学条件十分优厚,确实能助力学生的成长。如果你学校一般,那么面试官可能觉得你学习能力有欠缺,或者觉得这样一个学校并没有好的条件去培养你。
& ?* e; Q( p7 C# {# _& R4 s
1 |+ X$ v1 a3 \9 U) [但是这绝对不是全部。你是普通学校的学生,并不代表你没有足够的学习能力,没有掌握足够的职业技能。你需要做的仅仅是努力向面试官展示出你的学习能力,你所掌握的技能就好了。我有一个老乡,二本学校,但是去年收割了BAT的offer,其中霸面百度拿了specialoffer。他大学期间就做了很多事,做了很多项目,还开办工作室等等。这些大学经历以及项目经验写到简历上,和面试官一聊,那么面试官真的不会在乎你是什么学校什么学历的(网易除外)。9 t% V% O9 Z0 s6 S. D
" f! X) r, }' }6 k, q+ P% E: u同学们,鼓起勇气,干巴爹。0 q& E4 E, L) f
# q' I) }# J4 ]- F9 V/ M
|
|