【编者按】本文是老男孩的学生“八一杠一”给学弟学妹们的分享,主要围绕三个方面:思想认识、学习态度以及如何轻松应对面试。从月薪3K到13K的距离有多远?看看本文作者是如何做到的。
学习态度篇
首先给大家分享的是学习态度,老男孩老师有学习的6大核心思想“重目标,重思路,重方法,重实践,重习惯,重总结”,大家一定要重视。从学习上讲:
一是要认真;
二是要保持空杯心态,不管会不会,不管有没有基础,一定要把自己当作零基础去学习。
三是跟着老师走,少走弯路,我敢肯定大家中有人吃过亏,没有跟着老师走,导致错误频出,其实我也这样二过,好在很快认识到了错误,就没有再犯。还有学习不要半途而废,这点对学习是最致命的。初级课程从开始到结束,跟着老师走一定没错,你们的师兄们能有今天这样的成就,都是这样过来的,这些都是实实在在的,因为大家都看在眼里。
在思想认识上,不要把老师的课后作业当作一个作业来做,把课后作业当作实际生产环境中的一个项目去完成。从我讲后你们就要认识到,进老师这个教室的门,就是到企业中去工作。来老男孩老师这学习,就是在企业中学习,唯一不同的是老师这里提供给你专门的学习时间。大家要认识到你们的虚拟机就是远程机房的服务器,在企业中我们也都是通过SecureCRT连接虚拟机这种模式连接远程服务器的,而不是直接在服务器上敲命令,在服务器上敲命令的几率很小。所以大家要认识到,我们就是在一个企业的常规操作模式下工作。这样就会对你的进步有很大的帮助。
就拿老男孩老师教学的第10次的小综合的作业情况来看,这个架构在老师发下的第一时间我就看了,这三个架构在企业中应用的非常普遍,大家在做这个作业时候,一定要把老师当作你们的运维经理来看,这个作业就是我们公司最近要上的一个项目,作业要求就是这个项目的简单的一个实施大纲,具体方案还需要大家来完善,因为你的总结也是方案的一部分,大家如何去完成这个项目。
如果大家从第一节课一直跟到第十节课,这个架构的内容,对大家来说不会是很难的。从我的情况看,这个架构我是我们班中第一个做演示的,而且我完成的时间比你们短很多,我就花了近一天半的时间就搞定了这个架构(没有nginx代理)。之所以我完成的这么快,因为我的操作都是跟着老师一步一步走过来的,没有说按照自己的想法走,不和老师同步。在没有练习熟练前我完全按照老师的操作去做,没有任何的改动,除非我练的非常熟练了,会对文档稍微改动,总体上是不变的。所以我完成这个架构就非常快。
在做这个架构前,我也很多不明确的。大家要记住一定要去问,这点一定要记住,很重要。多问,不然你们做不出来这个架构。在做这个架构前,如果我没有把我迷糊的地方问明白,我也不会做出这个架构来。多向你们师兄请教,你们的交流群中有老师安排的导师,大家记住,老师把我们这些导师放在群里,不是摆设,学习工作中,任何不明确的问题都可以去问你们的导师。你要相信你的导师不会无缘无故不帮助你,既然老师把我们放在群里给你们当导师,各个方面只要是他能帮你解决的一定会帮助你解决,告诉你该怎么去做,你们同学中应该有人知道,比如刘同学,有些不明确的地方都会问我,有些不会做的我直接告诉他该怎么去做,为什么这样做,每次帮她解决问题后,都会提醒他写个总结,还有安同学,公司线上数据库,主从同步的问题,他问我我也没遇到过,我就去google下,找些关键的信息给他,他能自己解决就自己解决,如果他不能解决如果就帮他解决,如果我能重现这个错误,我就帮他测试这个问题,每次我给他解决完问题,他每次都会发个总结给我。这样我的的文档也能完善,我也能从中学到很多的知识。因为很多你们遇到的问题导师们未必都遇到过。
交流群很重要,有什么问题大家一定要在群里问。实在不好意思,私聊也成!即使他没有没有很快的回答的你问题,有可能导师很忙,没有看见,也有可能导师在做测试,自己测试过后才会告诉你怎么去做。一些我在群里看到的问题,我自己测试过后,才会贴到QQ群中。尤其是谁问问题的一定要关注,“@”功能很好用。在群里发言要活跃。
学习过程中,关注自己学习环境,话说回来,尤其是没有工作经验的学生,在思想上,把老师的课堂作为实际的工作环境,把你课后作业,作为企业的一个项目去做,作为企业的生产的案例来做。实际的工作环境中,也都是在虚拟环境上做测试,然后才会放到生产服务器上去。有一种技术叫做“虚拟化“,阿里云和VPS服务提供商是虚拟化典型的代表。而Vmware workstation就是桌面版的虚拟化技术。这样对大家的思想进步很有帮助的。
面试篇
在面试的过程中,如果你没有这样的认识,面试官问你“生产”环境是怎么做的,你们没经验的人你就蒙了,自信心一下子就没了。如果你有这样的认识,即使面试管问你生产环境是怎么做的,你就可以把你做的测试环境的操作作为生产环境的操作,不要认为这个是在欺骗他。因为测试是为生产做准备,测试环境的操作和生产的环境的操作是一模一样的。测试和生产也就是两个字写法不同,而实际上的意义是相同的。而且任何软件的报错都是一致的,不分测试和生产环境。出了错都是那几个原因!
面试要注意两点,一是简历要写好,二是要主动面试。
前几天我已经给你们的部分人做过简单的分享。在我所经历的(只经历过技术面试,没有面试其他职位!嘻嘻)几场面试中,面试官会首先让你做自我介绍,大家记住只要面试官让你做自我介绍,从自我介绍开始,就是你表演的开始,充份的发挥你的优势,一直说到面试结束。就好比这次的老师的10期综合的架构,这个架构是最典型的企业应用(缺少监控),甚至某些企业还不如这个架构完善,把这个架构掌握好,在面试的时候,先整体的概括这个架构,从前端的代理服务武器到应用服务器、到后端的存储,再到后端的数据库,再一个点一个点的描述,对单个点的描述是最重要的,尤其是其中的一些细节问题,大家要记住,这些才是亮点,这些是增加你的录取机会,和高薪资的重要保证。你整体概括的时候说的一般面试官的都懂,而你说的这些技术亮点,有些是面试官根本就想不到的。有些技术亮点,面试官没有问,你就已经替面试官问自己了,而且还是面试官没有想到的地方,这些点绝对是给你增加录取率,增加薪资的点,即使是的薪资要的有点高,面试官也会认为你值这个薪资。面试官看人,只要你有一个他认为闪光的地方,他都会欣赏你。当然一个人的整体素质也是面试官考虑的因素。就是你面试当中这样的表现,你的整体印象,在面试官的印象中就会有很大的提升。
单从技术上来讲,老师课堂上让大家注意的地方,都是亮点,大家要记住。就好比今天要讲的MySQL主从同步,主从同步原理面试必考率80%,在我这是100%,除非面试的不懂技术,这个应该是必考的项目。而且在我面试的其他各个机构的培训学生,甚至是搜狐畅游、百度等大公司出来的运维也没有一个能够非常清楚的描述出MySQL主从原理,大多数人感觉都是很简单,“直接说是通过binlog来同步,从库开启两个进程”,这种回答,让我感觉这个人根本就不会,很随意,我再问他一个非常实际的问题如何去做主从同步的时候,更大的笑话出来了,直接给我回答“在从库指定主库的信息,然后“start slave””,没有一点技术上的严谨性。其实这个问题没有要求他做出来,只要把这个10个步骤说出来,说清楚就可以,主从同步非常简单,面试数据库我只会问到这两个问题,如果两个问题你给说亮了,面试的成功率很高的。
在面试的过程中要揣摩面试官的心里,如果你从头到尾的把这个架构给面试官说一遍,这个架构基本上涵盖了绝大部分的企业的生产架构,他这个时候再问的问题都是他根据你这个架构来说的,不会问你其他的东西,因为在你介绍完这个架构,你已经把他的思路完全引导到你这个架构上来了,面试官面试前也不一定准备充份,很多都是临时任务。他所问的问题都是他比较关心的,他想知道你对他的了解有多少,或者是这个点就是公司架构要扩展的方向。这个就是你最大的表现机会,专门针对这个点去给他分析。即使他问,他也不会问的太深,很多的都是检测你在这个方面了解的深度。如果讲课的时候认真听,课下认真做测试,做总结,基本上他所问的问题都是老师提的重点,对你们来说非常简单。按照memcache的命中率来说能达到99%的命中率。
把老师课上的内容总结好,这样的面试对你们来说不是难事。为什么你们会感觉面试这么难,那是因为你们面试太被动,面试一定要主动,大胆去说不要怕,如果你让面试官问你,那你就被动了,而且他问你的问题绝对是你想不到的。不要怕说错(说不紧张是不可能的),说错了可以纠正,如果你按点说,有条理的去说,基本上不会说错。
基本上按照以上我说的去面试,面试的成功率是很高的。我初级毕业去面试了4家公司,拿到了3个offer,为啥最后一家没有拿到,因为自己就感觉自己要的太高了(自信心膨胀的后果)。如果我要的薪资合理,4家公司的offer我会全部拿到。
面试结束后,把面试官的联系方式(QQ,EMAIL,手机)要到手,我最近面试了3家公司,把3家经理的qq全要到手。没事的时候和他们聊聊天,对你是有很大的帮助的。你可以在面试后,向他们询问你这次面试的不足,还有那些需要改进的地方(旁观者清)。
面试结束时,每个面试官都会问到,你还有什么想了解的,还有什么想知道的。这个时候你都不知道该问什么,面试刚结束谁都蒙,谁都不知道自己该去问什么了解什么,但是我要告诉大家,一定要把他的联系方式要到手,即使是这次没有录取你,你和他经常聊些技术话题,等到那天他哪里缺人了,他就会想到你了,就会直接的把你挖过去上班,当然薪资肯定不会少。这个很正常,也很多。等你真正经历过你就会明白,你这么做是对的!还有一点,把面试的试题总结一份发给他,即使你面试的时候答得不好,面试后不管你是从网上找的还是找其他人问的,你总结一份给他发过去,他会认为你很有心,就算面试时对你的印象不好,如果你做了这样的一个事情,你的录取率绝对会比没有这样做的人高,公司就缺少有心的人,一定要记住。
不要把面试想象的太难,面试是双向的,他在面试你,你也在考察公司的工作环境是否适合自己,千万不要有“求”工作的心里,你不是在“求”他录用你,而是要想我是在选择公司,等到你offer拿多了,你肯定要挑一个适合自己的公司去工作。不可能因为这家公司给我的薪资高,而环境不适合我,我还选择这家公司。在面试过程中揣摩面试官的心里,这个需要去实际的面试去锻炼,在你们这节课学完之后我就建议大家去面试,可以小谈,不能乱吹,只要把这次10期小综合作业做到80%的同学,完全可以出去面试,建议大家只是去面试,去体验面试的过程,毕竟你现在还在学习,如果感觉有合适的企业。和老师沟通下听听老师的意见。为自己毕业后面试打基础,这样毕业后面试就不会再慌张,每次面试都会胸有成竹。
我10期综合这个架构做完后去面试,把老师的期末的架构拿出去给他从头到尾讲一遍,其中LVS,nagios 不讲,为什么我不讲,是因为课程还没讲到那里,我确确实实不会。整个架构中不会的地方不要有过多的话语,你只需让面试官知道,你公司有这个东西就可以,你稍微了解这个,这个都是别的运维做的。
我初级毕业我也是零基础,我的linux纯纯粹粹是个零,我一个零基础的能达到这个水平,我不比大家聪明,大家也不比我笨,相信大家一年后都能达到这个水平,但前提是大家要认真的学,深刻的去理解,所有的努力都要表现在行动上。一年中有多少个周末我具体没有算,但是我轻轻松松休息的周末也就3-4个,其余的时间都在老师这里学习。11期和12期开班相差一个月,我是跟着11学,12期的在跟着复习一遍。
我在网上看到别人分享的一句话“再牛逼的事情也架不住傻逼似的坚持”。任何技术都怕研究,“无研究,不技术”。大家想想nginx代理很简单吧(对我自己而言),最开始我也不会,但是老师给我个任务,让我给高级班的同学分享,我用了一周的时间找资料,写文档,做测试。基本上把nginx代理弄的差不多了,至少比我公司生产中用的要完善的多。因为我们生产中好多没注意的地方,在我的文档中都有体现。我的博客就那一片文章比较满意。任何软件都是如此,只要大家有心去研究都能搞定。要敢于挑战。
问答篇(师弟妹们的提问)
- 问题一:如何快速适应企业环境
这个可以放心的告诉大家,任何一个企业,你刚刚入职都不会让你直接去接触企业的生产环境,都会有一个培训和学习的阶段,放心大胆的去做,在最快的时间适应他的企业环境和业务环境,即使你什么都不会,你就要利用学习和培训的阶段了解和掌握公司的基本业务,不需要100%的掌握,没有这种人,掌握个大概就可以,都是边工作边学习边培训,要快速的上手,这个工作基本就是板上钉钉的事。淘宝网有个专门培训新员工的地方“淘宝技术大学”,他的校长是“子柳”,有一本书叫“淘宝这十年”就是子柳写的,非常不错。
- 问题二:线上故障心虚如何解决
在学习过程中,注意平时的错误积累,软件出问题报错都是一致的,平时你所积累的就是你最大的保证,不要说我没有实际的生产经验,等你错误记录积累到一定的数量级,你就会发现,这个问题我知道,这些问题你就会轻易的解决。各种问题各种求助,我第一次接触比较大的问题就是我们生产环境中的NFS存储挂了,直接给老师打的电话,其实解决的办法我已经都列出来了,就是心里没有底,也是第一次接触,就是和老师确认下,让自己心里有个靠山,打个预防针。
- 问题三:视频1小时,边看边做实验时间很长,怎么办
首先这个并不是你效率低,而是你这种操作模式,必须要花这么长的时间来做,老师的视频都是分节的,上课认真听,认真做笔记,课下看视频可以分节看,每天看一节,每天都是个进步,不要每次都是从头看,如果你从头看只能说你上课没认真听,除非你有非常空余的时间可以从头到尾的把视频复习一遍。
- 问题四:如何筛选,如何自己学习(以Nginx为例)
各种求助,各种学,借助官方文档、百度,谷歌,师兄,师弟。Nginx代理大同小异,官方文档给我们的示例已经是非常明确的,英文不会,借助谷歌翻译,各种翻译,都可以对比下。请教人不要分高低。三人行必有我师。
附带文中讲第10节架构逻辑图:毕业前还有4套大中型网站规模集群架构图需要完成!