前言
这是一篇来自一位程序媛的投稿,记录了她从化学系转行进入IT业,制定计划学习,扎实执行,面试腾讯实习的经历。她展现出来的特质例如制定学习计划、每日总结、单点极致、面试心态、主动进取、 内驱力等非常宝贵。 值得从业人士尤其是在校的同学们学习。
文章较长,建议耐心阅读,必有收获。
2015年9月,带着一丝迷惘,成为某不知名211大学化学系的一名学生;
2017年3月,带着一丝犹豫,开始认真给自己规划转行路线;
2017年6月,带着明确规划,正式启动了IT的学习;
2017年12月,带着一丝期待,在YY作为游戏运维工程师实习;
2018年4月,带着一丝坚持,获得了腾讯业务运维实习的机会;
2018年4月以后,带着较明确的目标,开启下一阶段的自我修炼;
以上是我大学以来的大体历程。经常有人问我:
你以前专业成绩也不差,为啥要转IT?
看你每天不知疲倦地蹦跶,你不会累吗?
转行很艰难,尤其是IT,你还是个女生,你后悔吗?
很多人都是海投被拒,为何你非计算机专业却能如此幸运?
小时候总以为自己是个不平凡的孩子,老是不服输,非要和别人家的孩子争个高下,但是人越长大越感觉自己的渺小,渐渐会有一种“泯然众人矣”的感觉,心里总是不甘心,我想要去做点什么。
我可以做什么呢?刚上大一的我,满世界都是新鲜有趣的事物,肆无忌惮地闹啊玩啊逛啊,我不知疲倦地参加各种活动各种兼职,从混社团学吉他做科研做家教发传单,到参加英语培训参加各种比赛,再到心理机构兼职、环保机构实习等等,我都企图去找到自己的兴趣,我渴望找到一个自己喜欢的东西可以为之奋斗的东西。
一次偶然的机会,和一些学IT的朋友扯皮,对IT世界产生了兴趣, 后来找了YY的实习,在YY实习的那段时间,陆续不停地听到YY(YY内部通讯软件)响起系统报警声,各种后台监控图表不断跳动,以及迁服时密集的键盘跳动声,前辈们轻描淡写地说,成百上千万用户在各个论坛留下了这些日志,数量级是上亿的……
所有这些,对于我来说都是新世界的大门,我忍不住心潮澎湃,互联网的世界实在太迷人了,作为一个化学专业的学生,我以前从来没有想过开始吃鸡时软件要如何运行呢?如果吃鸡用户太多服务器挂掉了怎么办呢?如果我的吃鸡账号被窃取了怎么办呢?而IT它让我忍不住思考这些奇妙的问题,它让我感觉虽然不是我在主导世界,但我正处在一个高速发展的领域,我将会和一支优秀的团队改变世界,不是吗?
于是,我选择了IT,选择了运维,在这条路上走了已有一年,我不后悔。
学习
那么问题来了,确定了转行IT,然后呢?
我这个人有个特点,做任何事情,我总是要有一个大体的框架,然后寻找到一个入手点,寻找到就一头扎进去。
学IT也是,我一开始除了拥有一个充满好奇的大脑什么都不懂,我刷知乎刷开源中国逛CSDN逛51 CTO逛GitHub,和隔壁理工学校(自己的学校是文科性质的大学)计算机专业的朋友交谈,没事就去蹭蹭朋友的计算机专业课,总之哪里感兴趣就学哪里,就这样懵懵懂懂过了二个月,基本知道了操作系统的知识有哪些、前端后端有哪些主流技术、各大编程语言有哪些区别等等,也就是对计算机的大体框架有了初步了解,最最重要的是我发现自己对Linux系统尤其感兴趣!!!
很幸运的是,身边还有一个Linux大神朋友(大二就拿到华为网易offer),心想真是天助我也啊!于是我用一杯一点点换来了和大神长达4小时的历史性交谈,期间经过大神点拨也了解到和Linux对口的岗位有网络、系统方向的运维岗,这个岗位的技能要求主要是系统40%+脚本编程40%+网络20%,于是我初步确定了一个学习路线:CCIE -> Linux -> MySQL-> Python -> Cloud。
(码农翻身注:有个过来人做一下指导多么重要啊!)
有了目标,就该有计划。首先考虑到我没有计算机基础,所以还是坚持每周去上蹭计算机基础课。此外,给学习路线中的各大板块选了一个教程,CCIE我是看韩立刚老师的教程,Linux是看鸟哥私房菜,MySQL是菜鸟教程,Python是简单了解后直接在GitHub找项目做。
每天每周学完我都要求自己写总结做思维导图,比如TCP可以用来保证可靠传输流量控制等,它怎么保证呢?确认机制+重传机制。重传机制有哪几类呢?重传算法分别是怎么样的呢?重传机制的场景有哪些呢?重传机制有什么优缺点呢?我是否可以抓包验证一下呢?总之,我尽量让自己做到一点:单点极致!后来在腾讯面试中,问到TCP的重传机制自然就可以自信的回答了。
(码农翻身注:单点极致!不可能把所有东西都精通,有所为有所不为。)
后面学的东西渐渐多了一点,慢慢也学着去横向扩展。我不再满足于Linux只会哪些工具和服务,开始了解底层原理比如内存机制进程机制内核机制;学习了MySQL,又开始扩展MongoDB等数据库知识;学习了Bash脚本,又考虑扩展一下python脚本的编写能力等等(我始终是围绕着运维这个岗位所需要的技能来扩展的)
这些内容可能在计算机专业的学生看起来很浅显很简单,但是对转行的我来说却是很难的,我常常很难理解那些原理性的东西,甚至一开始我连CPU都理解不了。
我常常会难过,不相信自己,觉得自己长了个假脑子,但我始终很倔强,不肯放弃。学了IT以后,我发现很多问题你如果没有迈过去,后面的内容你也学习不了了,所以我只能上Google上Stack Overflow问51CTO的老师问身边的大神朋友,只能一点点解决。我不是一个很聪明的人,也没有什么很好的学习方法,有的只是踏踏实实走好每一步。我曾经也是一个很浮躁的人,每周都要去到处玩到处耍,但学IT以后我觉得我整个人都沉下来了,每天三点一线宿舍休息教室上课小房间自学,后来发现,坚持着坚持,慢慢的就迈过去了。
(码农翻身注:这才是关键,不管你有多么好的目标和计划,如果不能克服困难,坚持执行,一切都是白搭。)
校招
校招是一场能力+运气+心态+表达的比拼,流程一般分为:内推 –> 网申 –> 笔试 -> 面试 –> 发放offer这几个阶段,其中面试这一阶段一般又分为2轮技术面和一轮HR面,这里每一个阶段都需要用心准备,尽自己最大的能力做到步步为营。
我发现大多数公司的内推面试是和正式网申的面试是分开的,也就是如果你能找到内推而且运气好,就相当于比别人多了一个机会,这是很难得的。要注意内推以后也是需要网申的,而且一定要网申!!像腾讯,如果你没有网申,系统没有你的信息,内推面试就算过了也可能是无效的。当然有些公司是安排了内推面试就不再有网申面试机会的,比如网易。
所以多去找找内推机会,比如牛客网、刺猬求职、知乎、大神朋友(的朋友)等等渠道,各大求职公众号技术论坛甚至直接百度(我京东的内推就是直接百度找来的),只要用心绝对可以找到的。虽然不一定有用,但是万一有用呢?至少这次春招对我是很有用的!
这里需要了解一下,技术类岗位求职大致可分为三类公司:
第一类是互联网公司,这类公司平时工作压力较大,成长空间大,薪酬福利自然也是很好的,例如腾讯阿里百度京东等;
第二类是运营商类,也就是移动联通电信;
第三类是国企类,包括政府机构、各大银行。
不同类别的公司有其不同特点,你可以根据个人喜好选定一个方向去拼博啊去战斗啊。
我觉得选定了一个侧重点以后,海投阶段不要怂,有什么都去投啊,在校招阶段一个面试机会不仅仅意味着你有机会获得一个offer,更重要的是通过面试你可以发现自己很多知识的漏洞,你可以去查缺补漏,你可以去总结规律,你可以去不断提升自己啊!!!
YY面试
YY我的第一个公司,也是我最感激的公司,有幸进入YY实习实属偶然。
2017年12月底基本学完了Linux系统方面的知识,抱着试试的心态投递在海投网投递了很多公司,渺无音讯,心灰意冷。
后来在拉勾网偶然看到YY,没想到投递不到半小时就收到了第二天面试的通知,那叫一个鸡冻啊!!!
YY是半小时笔试,然后近二个小时技术面。
第一次面试傻傻的,口误说运维可能会背锅。呃,好想拍死自己。。。
因为是校招面试,大部分问基础,不难但是很细,集中问了各大服务原理和负载均衡的相关技术,答得还算流畅,当时刚好在看相关内容,嘻嘻~~
一面完毕等待了两分钟进行了二轮面试,二面的问题比一面更加灵活一点,对技术细节和原理要有自己的理解,虐哭呜呜~~~ ,所以小伙伴们在平时学习过程中要注意多去实践多去思考。
列举一些印象比较深刻的问题吧
- 启动脚本的3种方式?
- 如何保持session?
- Ping一个网址去哪里找缓存?
- Nginx如何加载https模块?
- http响应请求如何缓存到服务器?
- LVS算法保持keepalive多久?
- RAID5有一个挂了会怎么样?
- 一个目录占据很大内存,你如何找到元凶?
面完很丧,答的不太好,感觉挂定了。
没想到一周后收到了录用通知,惊喜之余疑惑脸???
后面进入YY后某天和老大交流聊到(校招)招人的标准,老大谈到无非就2大标准:
一个是基础扎实、一个是潜力较大。
基础扎实很简单,潜力较大怎么理解呢?老大如是说,问到一些理解性的场景题,你有较强的分析能力和较清晰的逻辑运用学过的知识去解决它,最好还有多个解决方案。就算没有(说的就是我)也不能放弃,多联想然后以一种和面试官探讨的态度去提出你的猜想。
还有一点,老大说他面试过很多人都是很紧张,有些问题可能知道思路但是回答的很不流畅,而我虽然不是技术最强的,但是最自信的,回答问题比较有条理性,遇到没有接触过的问题也能试着去分析。嗯,不要带着面试的心态去面试,要知道你可是来秀技术的(自我催眠)。
网易面试
春招拉开了帷幕以后,我投递了20家公司,后面小伙伴们陆续收到了面试通知,而我简历被刷了,好气啊。
气归气但是总结不能停。我认真总结了一下简历被刷的原因:一个是我的专业,这个我无法改变,还有一个简历的技能点写太少了,不够丰满。这个我认真去完善了一下。
然后在各大网申点更新了简历,过了几天,终于有了第一个面试机会:网易游戏运维工程师。
很激动很紧张,跟某网易大佬取经后认真复习在YY的实习经历和数据库的知识。结果面试都没问,主要是在问我内核优化、性能检测还有云计算大数据那块,揪的很细,我也意识到自己知识体系确实有很多漏洞,给个小片段大家感受一下:
- CPU的负载处理工具?
- top工具每个字段说一下?
- top如何查看多核CPU?
- 内存爆满怎么办?
- 杀进程kill除了-9和-15还有其他参数吗?
- -9和-15有什么区别?
- 如何截取信号实现告警?
- /proc里面有什么?
- /proc里面的数字代表什么?
- Iostat每个字段说下?
- ………………..
嗯,春招的第一个面试,完美地当了一次炮灰。
但确实感觉自己很多知识点了解还不够深入,这个炮灰还是当的很值得,让我关注到就是对知识点的学习除了要懂是什么怎么用原理是什么外,还需要关注这个知识点是怎么来的为什么会这样用,简单来说就是知其然还要知其所以然。
腾讯面试
从3月底内推面试到4月中旬面试完毕,期间可以说是备受煎熬。
内推腾讯云
收到腾讯云内推面试通知后,我从早上10点到晚上10点呆在自习室都不敢出去,生怕tx爸爸什么时候就打电话,如果有电话打过来还好,然而等了一周等来了您的简历不合适……失望就失望吧,复习还是得继续啊,内推挂了不是还有网申吗?没什么大不了的。
嗯,可是还是不甘心啊啊,只能找了面试官邮箱发了封自荐性质的邮件,结果又过了几天,我在上厕所接到了tx爸爸的电话!!那叫一个煎熬啊,只能说信号不好立马狂奔出厕所,这说明主动点就有机会,惊喜总是来的措不及防,有木有。
腾讯云问的基本都是偏向底层原理、项目啊哪些东西(这个可能是因为我的引导),比如:
- IO优化
- Django项目
- 如何开发一个发布部署
- MYsql多实例
- 云平台底层
- 日常故障处理
- MySQL引擎
- 内核优化
- ……..
紧张刺激啊我的妈,我一紧张就头脑空白语速飞快,快到舌头打结一股脑说了我也不知道什么了,心想完了完了(人一紧张就容易本性暴露呵呵),结果面试官竟然说回答的不错,还说我非常适合他的这个职位,很快就会有二面(兴奋脸呱呱呱~~~)然而,等了十几天渺无音讯…….妈妈说得对,不能轻易相信陌生人的话,哭晕在厕所…….
然而,后来在网申面试前夕又接到了腾讯云二面通知(无奈脸)
不得不说,心态真的很重要!!!
坐过山车一样的春招,其实心态也是能力的一种体现吧!
MIG技术运营
一面大概一个小时,问的大部分是“软”问题,感觉面试官特别关注你的思维、表达、逻辑性,比如:
- 如何知道这栋楼多高?
- 给老爷爷解释搜索引擎?
这类问题没有标准答案,我觉得只需要用总分结构分点说出自己的真实想法即可;
其实内推面试的时候就有感觉今年和往年不同, 很多问题已经不再和以前的面经那样问系统基础了,对知识点理解深度要求更高了,很多东西需要有自己的理解。
而我对知识点还是有很多不够深入的地方,很多问题都没有答好,但是我每个问题都会把自己可以想到的答案已一种探讨的姿势说出来。
我会说:这个问题我不太清楚,但我根据以前处理类似问题的经验有一些思路,第一巴拉巴拉第二巴拉巴拉,嗯, 我觉得这是我做的好的地方,面完两个小时左右就给了二面通知。
一面印象比较深刻的问题有:
- 如何加权限
- 监控架构
- 说下多进程编程
- 如何查看系统启动过程的日志?
二面大概一个小时二十几分钟吧,侧重考察你的软实力、实操能力、底层原理、对主流技术的理解这块,这块的话问的基本是云计算大数据这块,我没有专门去过学这些方面的知识,了解的并不全面也不深入,主要是根据自己在YY实习时的一些感受来谈谈理解,也多亏了自己从高中以来经常写日记的好习惯嘻嘻。
列举一些印象比较深刻的问题:
- 画出七层协议栈;
- 判断这台机器性能(直接上机)
- 直接上机写脚本
- 云计算的理解
- 大数据的理解
HR面试大概一个小时,看过很多面经,都说HR面很轻松,不刷人拉家常吹吹水就过了,确实,只是这水吹得有点刺激。。。
HR面,是所有面试中压力最大的,一开始HR小哥哥就揪住我曾经在一个心理机构实习的经历不放,拼命各种限时轰炸。
- 自我介绍? 30s
- 两分钟说完一面二面面试官优缺点
- HR面需要刷一半的人,怎么说服我选你? 30s
- 比起计算机专业,你有哪些不足? 20s
- 你比他们差在哪?你又比他们好在哪里? 30s
- 很多人觉得运维不如开发,你怎么看?
- 选择腾讯,那如何拒绝小米offer
- 为什么自我评价打8分?
- 起身走了,又来一个问题(emme...忘了),这个时候记得不要站着和HR说话,(陈独秀同学)一定要坐下!
我能怎么办?我也很绝望啊,咬紧牙关上啊,不要怂,记得问到一个问题说如果你被腾讯刷了怎么办?当时实在不会说,可能是梁静茹给了我勇气吧,我想了想毅然决然的说:这种事不会发生!我觉得我一定能过!顿时被自己的勇气感动了,后面的限时回答明明很虚,但总有一股迷之自信,哈哈。
内驱力
对于正在准备校招求职的大家,我觉得还有一个点,它跟一切技能一切技巧无关,但是整个校招季对我而言最重要的东西:内驱力。
能支撑你走上这条漫漫转行路并且坚持至此的内驱力是什么呢?
做出一款爆款游戏?
维护网络世界的和平?
还是保障服务器的稳定?
加入伟大的公司改变世界?
让每个人都来讨论自己的产品?
亦或者赚很多很多钱让家人生活更好?
不管是什么,总之它一股让你深夜撸代码刷面经的源动力!它是你不断被虐但始终屡败屡战的力量!它在你跌倒了想要放弃的时候告诉你:不要怂!不能输!就是干!它告诉你:革命尚未成功,你还需要静下心来思考,持之以恒!
希望每个校园招聘的小伙伴,不要人云亦云,找到自己的内驱力,持之以恒,offer就在前方。
后记
拿到腾讯实习offer以后,又陷入了新一轮的迷惘期。
我明白腾讯实习只是一个起点,能不能在未来的挑战中活下去还是个未知数。
很多人和我说互联网是个青春饭,但我觉得这不是说你身体上扛不住,而是互联网节奏太快了,每天新知识大爆炸。
特别是运维这行,从开始的懂网络懂Linux工具懂服务,到现在DevOps大数据云计算,甚至是AI,比如腾讯大力发展的AlOps。所有这些变化,其实也不过三五年时间,我们会感觉跟不上了,实在太多太多了啊。
那我不学了吧,好像不学也是可以的,而且我以后还会有家庭还会有孩子,我为啥要让自己那么累啊,于是我有了惰性,于是我放慢了脚步,于是我就淘汰了。
未来谁也说不清楚,有时候其实也只能走一步算一步,但是在这个过程中,我可以打好基础,学好原理,储备好经验,不断开阔自己的眼界,乐于接受新的事物,然后就见机行事,这样机会来了或者有了困难,就可以把握住或者跨过去,不是吗?
但我现在也才刚刚上路,还是很多知识不懂很多地方需要加强,想问题的角度有时候也过于理想化,也许以后思想又不一样了,谁知道呢?
【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】