本文转自http://gumpping.blog.51cto.com/9811308/d-1,以下觉得重点的部分进行了整理
1.技术方面
技术功底学扎实。LNMP,LAMP,其中的apache和nginx绝对要掌握,这是基本,mysql也一定要熟悉。最经典的部分问题:nginx和apache的区别?nginx相对于apache的优势?支持nginx高并发的机制?nginx又能达到多少RPS?apache的RPS?经过系统性能调优的nginx你自己实践过多少?又能提升多少RPS?cgi?fastcgi?mysql的事务隔离级别?mysql备份策略?mysql的备份方法?如何实现数据定点恢复?mysql主从?mysql读写分离?说出几种防范DDOS攻击,CC攻击的方法?当然这里仅仅是关于一套web最基本服务的相关问题,很多更经典问题大家都可以百度搜到。
Shell脚本和其他另一个语言(Python,per)监控cpu脚本,CPU内存比率,磁盘的占用率,获取本机IP地址,当前队列长度.
文本处理三剑客sed,awk,grep,这三个一定得绝对熟悉,统计某web界面的PV,UV,并且排序等。结合sort,tr,cut,paste,uniq,tee,xargs等等其他命令,你一定能够得到你自己想要的
iptables防火墙,四表五链,那几个规则,地址转换,防火墙标记,不会肯定不合格。集群haproxy,LVS,nginx_proxy,同步inotify+rsync
最核心的东西就是“官方文档”,nginx.org,mysql.org,apache.org,没事多去逛逛从官方文档上学习能让你少走很多弯路,并且直接接触的是精简,精准,核心,权威的资料,最重要的是,每一个开源技术的官网上都有相关的大型项目的解决方案,这比别人写的技术博客绝对更靠近生产环境.
如果上述提到的知识你掌握的话,这些基本足够支撑你进技术二面。网上这方面的相关运维经验也是很多滴,自己查查
2.面试方面
这样一个流程(互联网技术面试基本都是)
进门,入座,老师好(年轻的就是哥哥好),介绍一下你自己吧(巴拉巴拉巴拉。。。介绍完毕),面试官问你几个问题(巴拉巴拉巴拉。。。你会的还好,不会的跪下),40分钟没了,面试结束!——好!回去等消息吧!
结果1:技术问题10有7-8答对了,心态挺好——等待二面!
结果2:技术问题回答得很扯淡,重点在于你会的对方都没问——跪下!
结果3:绝对大牛,直通2面——甚至终面!
3.我的沟通策略(不一定适合所有职位):
0、准备
递交给面试官一份简历,自己拿一份简历,面试官问到哪里你心里有数。准备好纸和笔,随时准备码一段脚本。好处:“不会产生问题5”
1、心态
保持自信,谦虚前行,不论你的技术有多牛,不要自(zhuang)大(bi),要想用技术pass你简直Easy,一看你是一个zhuang bi之人,随便用几个内核参数就搞死你了,不要自大,谦虚+谦虚+谦虚!!!
2、自我介绍
基本信息10秒钟说完,叫什么,哪里念书,什么时候毕业,本科OR硕士。直接上自己的学习经历,我是如何接触linux,是linux的什么吸引了我,我又经历了怎样的历程,是哪一件事激起了我学习运维的斗志,什么开始有运维思想,我自己什么时候开始做我自己的项目,开始谈谈我自己的项目上线流程,相关技术一个不漏的跟面试官过一遍,上线或者项目运营起来之后又有什么相关运维故障,每一次我们又是用何种技术如何解决该问题的...
这些东西说下来至少有10-20分钟了,这样介绍有连个优点:
其一、让面试官对你的学习历程有一个直观全面的认识;
其二、作为本科毕业生,技术超级牛逼的还是很少的,介绍了你自己涉及的技术领域之后,技术官会对你有一个是否可以胜任该职位的一个评估;
其三、只要是你对口申请职位,你们的技术差别不会太大,技术官也有自己的工作偏重方向,他会根据你的技术介绍,针对你的项目上涉及的技术点给你提问,从而避免技术官在偏离你技术中心太远的地方提问,你也更好的回答该问题,至于技术的深浅,在于你自己之前的积累,至少你在和技术官讨论你们都知道的领域;其四、让你自己介绍项目你自己更容易突出自己的技术优势。
总结:把自我介绍和经历融合,会形成一个结合自己经历的面试流程,你和面试官一直处于同一个总路线,偏离不会太远,这样沟通双方都会比较好受,面试官知道你的长处,你也可以就自己的长处发挥,最最最最重要的是主动权在你,而不在面试官,SHOW YOURSELF!!!这样问题1、2、3都解决了。
4、如何回答问题
假设面试官问你:“诶,你知道XXXX啊,那你来介绍下你对XXXX的认识吧。”
回答问题的思路:XXXX是什么,XXXX能干什么,我的相关项目是什么,项目解决了什么,项目中哪里用到XXXX技术,关于该项目我的贡献点在哪里。
这样回答的好处是,在你的精心准备下,你能把自己做过的东西给面试官展示出来,很有条理地展示出来,至少不是一盘沙子瞎扯。在你的掌控范围内你能把较少的技术精钻更深点,更有实力展现效果。
混乱的回答方式会产生的意外:浪费时间,你的回答是在把技术面无限扩大,一旦技术面扩大,你自己摔倒的可能性会增大,遇见生疏的点仔细推敲一下就能把你绊倒,给面试官的印象便是:什么都知道,经不起推敲,夸夸其谈——OUT!!!
最严重的结果便是你把面试官搞混了,连面试官都不知道你到底精于哪一点,开源的互联网时代没有几个人敢说他什么都会,什么都精通(恰恰你就是那种了)——OUT!!!
总结:我一直不喜欢服从“木桶理论”,我更偏爱我们一位老师跟我说的“金刚钻理论”,我的精点在于web服务、nginx反向代理、脚本、系统调优及其性能监测......面试的时候,相对于一个知识面的广度,我更乐意注重突出我的长处!这样问题
5、关于做人
这个也是面试官衡量一块材料可用性的标准(这里仅列一个问题)。
Question:请问你们有一个正在进行的项目,项目进展顺利,但是你确信有一个planB更适合本项目的当前进展,注意,你是确信本方案可行性。但是把你的idea介绍给你的上司之后,他不同意。请问你会采用何种方式来说服你的leader采用你的方案?
Answer(样本仅供参考):
第一、不能在公众场合和leader叫板,leader就是leader,肯定以大局为重,坚决维护当前线上项目的实施。leader是一个团队的核心,团队的执行力来源于每一个人对大局的考虑而做出的决定。
第二、这个时候老板不同意你的看法,这时候不要一味的去展示自己的idea能够给本项目提供的差异化价值,也不要再去找你自己idea中的亮点去说服leader。leader拒绝你的方案肯定有他的顾虑,需要解决的是你如何找出自己idea中的瑕疵,找到自己idea中让老板不同意的那一点,先去了解leader的顾虑,去从leader的角度来分析自己idea的缺陷,针对此缺陷来打消leader的顾虑。
总结:不和leader顶撞,这是高压线;针对对方顾虑点去推销自己方案,即站在别人的角度解决问题,这样会让你事半功倍。我们目前的项目能够成功上线,来源于每一个队员的共同奋斗,同样重要的是必须有一个定大局大方向的leader!!!服从领导层决定,多从别人角度出发考虑问题!!!
6、关于问题6
这类问题我身边的同学,包括我在前期面试也是非常常见。管他什么公司,抓着就海投,最后面试都挤在一起,时间根本来不及,只能舍弃一些公司,并且浪费自己的时间,没有针对不同职位的反应和准备时间——烦心烦心烦心!!!
瞄准自己想去的公司,悉心准备,了解该公司相关需求技术,花4-5天时间把所有的技术点都过一遍,然后全新准备自信面试。海投只能让自己迷茫,迷茫自己真正想做的职位,甚至怀疑自己是不是做这行的料!!!不要海投,看准自己的方向,全力准备好,抓住机会就上!!!但是不能一味准备,相对于面试毕竟这是一个博弈的过程,这是一个靠部分机遇的过程,这是一个靠性格接口的双选过程,没有绝对的谁先谁后。把握尺寸,准备好了,才能轻松上阵!!!
展示自己的长处show yourself,和面试官坦诚交流,避免冷场,真正达到一个面试双选的过程体验。从笔试开始到一面二面终面,是一个压力次方增大的过程,要坚持,顶住压力!!!