做者:甘兵,知乎内容做者:连城前端
来源:http://blog.51cto.com/ganbing/2057482python
笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到不少猎头的邮件和电话,闲话少说,下面就分享给你们Linuxer的面试经历:mysql
首先,猎头或者公司人资会把公司的介绍及岗位要求发到你邮箱(或者QQ、微信),下面这份是猎头发给个人岗位说明,为了职业道德操守,公司的介绍和面试通知信息我就不贴出来了,我就把岗位要求贴出来:ios
职位描述:web
一、 负责应用服务器的安装、配置、优化与维护;面试
二、 负责应用系统的日志信息备份、管理、维护与分析;sql
三、 负责应用系统的平常监测于维护、故障处理、性能分析与优化;mongodb
四、 负责应用部署系统、环境配置系统、监控系统的开发、部署、升级与维护,建设高性能的运维平台。shell
岗位要求:数据库
一、 熟悉Linux操做系统的基础知识,熟练使用Linux经常使用操做命令;
二、 熟练配置Nginx、HAproxy 等应用相关软件的部署、配置与优化维护;
三、 熟悉网络基础知识、熟悉TCP/IP的工做原理,会配交换机或路由器,能熟练的对网络状况进行分析
四、 熟悉shell/perl/python中的一种或多种进行运维程序的开发;
五、 熟悉Nagios,Ganglia等监控软件
看着上面的要求你们是否是以为要求也不高啊,你要细看就会发现,这家公司要求的还挺多,不只要会网络知识(熟悉TCP/IP好像是每家单位的都会写这样的要求),还要会开发技能。相信不少作运维的兄弟在网络这一块是个头疼的事情,都对交换机和路由器不怎么会配置和管理。
关键点来了,就是和面试官沟通了,有笔试的公司会让你作些面试题,没有笔试就直接和面试官聊了,下面是我和面试官沟通完以后记住的一些问题,分享给你们看一下,笔者一共记住了7个问题,好像还有两个问题实在想不起来了,若是你们有更恰当的回答必定要贴出来一块儿探讨和进步:
一、介绍下本身?
(几乎每家公司首先都会让你作个自我介绍,好像是必修课同样)
回答:此处省略笔者的自我介绍,笔者建议介绍本身的时间不宜过长,3-4分钟为宜,说多了面试官会以为你太啰嗦了。说太少了也不行,那样会让人感受你的经历太简单了、太空了。
正常状况下,通常你在作自我介绍的同时,面试官这个时候在看你的简历,他须要一边看简历、一边听你介绍本身,若是你说个几句话就把本身介绍完了,他确定还没缓过神来,对你的映像会减分的。在介绍的同时思惟要清晰,逻辑要清楚,最好是根据你简历上写的经从来介绍,这样能够把面试官的思路带到你这里来,让他思路跟着你走。不要东扯一句,西扯一句。
尽可能少介绍本身的性格、爱好(最好能不说就不说),你能够简单罗列干过几家公司(最多罗列3家公司/也包含目前所在的公司,注意顺序不要乱),都在那几家公司负责什么工做,都用过什么技术,在着重介绍一下你目前所在的公司是负责哪些工做的,能够稍微详细一点介绍,不要让面试官听着晕头转向的感受。
二、灰度发布如何实现?
回答:这个问题过后在知乎上看到了一位网友的建议以为不错,你们能够参考看一下 !
仔细考虑一下灰度发布系统要达到哪些目的,基本就能有答案了。须要注意的是,客户端应用(不管PC端仍是移动端)的灰度发布要比Web应用的灰度发布更为复杂,由于应用运行在用户持有的终端上,数据采集和回滚都更为困难(但可采集的数据类型要更加丰富)。
注:本人缺少移动客户端产品的经验,下述内容可能不适用于移动客户端产品。
我所理解的灰度发布系统,主要任务是从产品用户群中按照必定策略选取部分用户,让他们先行体验新版本的应用,经过收集这部分用户对新版本应用的显式反馈(论坛、微博)或隐式反馈(应用自身统计数据),对新版本应用的功能、性能、稳定性等指标进行评判,进而决定继续放大新版本投放范围直至全量升级或回滚至老版本。
从上述描述能够得出灰度发布系统须要具有的一些要素:
用户标识
用于区分用户,辅助数据统计,保证灰度发布过程当中用户体验的连贯性(避免用户在新旧版本中跳变,匿名Web应用比较容易有这个问题)。匿名Web应用可采用IP、Cookie等,需登陆的应用可直接采用应用的账号体系。
目标用户选取策略
即选取哪些用户先行体验新版本,是强制升级仍是让用户自主选择等。可考虑的因素不少,包括但不限于地理位置、用户终端特性(如分辨率、性能)、用户自身特色(性别、年龄、忠诚度等)。对于细微修改(如文案、少许控件位置调整)可直接强制升级,对于相似新浪微博改版这样的大型升级,应让用户自主选择,最好可以提供让用户自主回滚至旧版本的渠道。
对于客户端应用,能够考虑相似Chrome的多channel升级策略,让用户自主选择采用stable、beta、unstable channel的版本。在用户有明确预期的状况下自行承担试用风险。
数据反馈
用户数据反馈:在获得用户容许的前提下,收集用户的使用新版本应用的状况。如客户端性能、客户端稳定性、使用次数、使用频率等。用于与旧版本进行对比,决策后续是继续扩大新版本投放范围仍是回滚。
服务端数据反馈:新版本服务端性能、服务端稳定性等,做用与用户数据反馈相似。
新版本回滚策略
当新版本灰度发布表现不佳时,应回滚至旧版本。对于纯粹的Web应用而言,回滚相对简单。主要难点在于用户数据的无缝切换。对于客户端应用,若是期待用户自行卸载新版本另行安装旧版本,成本和流失率都过高。能够考虑经过快速另行发布新版本,利用升级来“回滚”,覆盖上次灰度发布的修改。
对于移动客户端,新版本发布成本较高,须要Appstore、Market审核。本人没有移动客户端产品的经验,不太肯定移动客户端产品如何处理灰度发布及回滚。但尽可能将客户端打形成Web App,会更有利于升级和回滚。(不过苹果对纯Web App类的App有较强的限制,好像已经不容许在Appstore上发布这类应用了?)
新版本公关运营支持
对于改版级别的大型升级,须要配合公关运营支持,用于及时处理用户在微博、博客等渠道给出的“显式反馈”。对比经过隐式数据反馈获得的结论后,综合考虑应对策略。
三、Mongodb熟悉吗,通常部署几台?
回答:部署过,没有深刻研究过,通常mongodb部署主从、或者mongodb分片集群;建议3台或5台服务器来部署。MongoDB分片的基本思想就是将集合切分红小块。这些块分散到若干片里面,每一个片只负责总数据的一部分。 对于客户端来讲,无需知道数据被拆分了,也无需知道服务端哪一个分片对应哪些数据。
数据在分片以前须要运行一个路由进程,进程名为mongos。这个路由器知道全部数据的存放位置,知道数据和片的对应关系。对客户端来讲,它仅知道链接了一个普通的mongod,在请求数据的过程当中,经过路由器上的数据和片的对应关系,路由到目标数据所在的片上,若是请求有了回应,路由器将其收集起来回送给客户端。
四、如何发布和回滚,用jenkins又是怎么实现?
回答:发布:jenkins配置好代码路径(SVN或GIT),而后拉代码,打tag。须要编译就编译,编译以后推送到发布服务器(jenkins里面能够调脚本),而后从分发服务器往下分发到业务服务器上。
回滚:按照版本号到发布服务器找到对应的版本推送
五、Tomcat工做模式?
回答:Tomcat是一个JSP/Servlet容器。其做为Servlet容器,有三种工做模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。
进入Tomcat的请求能够根据Tomcat的工做模式分为以下两类:
Tomcat做为应用程序服务器:请求来自于前端的web服务器,这多是Apache, IIS, Nginx等;
Tomcat做为独立服务器:请求来自于web浏览器;
六、监控用什么实现的?
回答:如今公司的业务都跑在阿里云上,咱们首选的监控就是用阿里云监控,阿里云监控自带了ECS、RDS等服务的监控模板,可结合自定义报警规则来触发监控项。上家公司的业务是托管在IDC,用的是zabbix监控方案,zabbix图形界面丰富,也自带不少监控模板,特别是多个分区、多个网卡等自动发现并进行监控作得很是不错,不过须要在每台客户机(被监控端)安装zabbix agent。
七、你是怎么备份数据的,包括数据库备份?
回答:在生产环境下,无论是应用数据、仍是数据库数据首先在部署的时候就会有主从架构,这自己就是是属于数据的热备份;
其实考虑冷备份,用专门一台服务器作为备份服务器,好比能够用rsync+inotify配合计划任务来实现数据的冷备份,若是是发版的包备份,正常状况下有台发布服务器,每次发版都会保存好发版的包。
总结一下面试注意几点事项:
第一,你要对本身的简历很熟悉
简历上的写的技能本身必定要能说出个一二,由于面试官的不少问题都会挑你简历上写的问。好比你简历上写了这么一条技能“熟悉mysql数据库的部署安装及原理”。你即然写了这么一条技能,你在怎么不熟悉你也要了解mysql的原理,能说出个大概意思。万一面试官问到了你写的这一条,你都答不上来,那在他内心你又减分了,基本上此次面试但愿不大。
第二,不要不懂装懂
若是面试官问到你不会的问题,你就说这个不太熟悉,没有具体研究过,千万别不懂装懂,还扯一堆没用的话题来掩饰,这样只会让面试官反感你。
第三,准备充分
竟可能多的记住原理性的知识,通常面试问的多的就是原理。不多问具体的配置文件是怎么配置的。面试前也要了解清楚“职位描述”和“岗位要求”,虽然有时候大多数不会问到岗位要求的问题,但也要了解和熟悉。
第四,面试完后必定要总结
尽可能记住面试官问的每个问题,回去记录下来,若是问到不会的问题,过后要立马查百度或者找朋友搞清楚、弄明白,这样你才能记劳,下次面试说不定又问到一样的问题。