非计算机专业的运维研发秋招之路

题外话

秋招已经结束了,想了想还是准备把自己的面试历程写一下。也算是对大学四年的一个交代。

自己应该算是一个小白吧,就读于西安科技大学,环境工程专业。非985,非211。学校和西安电子科技大学就差两个字,但差的很远,坐落在骊山脚下。本身算是对计算机感兴趣,但还是比较弱。没有名企实习经历,也没有厉害的项目经验,连专业也与计算机不相关。很想去BAT,网易,网易游戏...,与网易游戏的三面之缘;阿里的20多轮面试,五个已回绝;腾讯春招那两个宽容和蔼的面试官;与百度之间的遗憾;还有实验楼面试官的理解... ,很多都是在校招路上的经验。实习真的很重要,尤其时名企实习,可以很大程度上帮助你通过面试。

面试时实力与运气的结合,当然你实力越强,那么所需要的运气就可以渐渐忽略。自己的学习之路,从C/C 到java,再到python以及现在的运维研发。坚持自己的梦想,走下去,总会看到希望。

校招之路

实习

实习到最后自己拿到了百度/豌豆荚的offer,但由于个人原因,最后没去实习。

历程(主要是运维)

  • 腾讯内推 omg(一面--> hr挂)

  • 腾讯春招 teg (一面--> 二面挂)

  • 百度内推 (一面--> 二面挂 )

  • 百度春招 (offer)

  • 饿了么 (二面挂)

  • 网易游戏雷火盘古 (二面挂)

  • 豌豆荚 (offer)

  • 阿里(面了好多面,几个职位都挂了)

  • 网易笔试过了,没有面试

面试中的问题

实习生面试基本很看重基础,对基础考察很细,在运维这一块,主要考察网络和linux基础。

  • 网络

    • tcp/ip

      • 三次握手/四次挥手过程(腾讯/百度/豌豆荚)

      • tcp连接中各个状态的含义(重点在time_wait)(百度/阿里)

      • 第三次握手失败,或者某一个状态错误 (引出计时器,以及重传,SYN攻击)(网易游戏)

      • 回退N帧协议(阿里/百度)

      • 拥塞避免/慢启动/快重传/快速恢复(所有公司都有问)

      • tcp与udp的区别

      • 格式

    • HTTP协议

      • 状态码

      • 长连接与短连接的区别(LVS是通过长连接作负载均衡)(百度/阿里/豌豆荚)

      • 格式

    • DNS

      • 记录
      • dns的解析(递归和迭代)
      • 什么时候用udp/tcp
    • 路由

      • 路由与交换机的区别

      • 路由协议(RIP/OPSF)

    • 其它的一些

      • vlan/vxlan(网易游戏)
  • linux

    • 基本命令

      • 有关进程(ps/top)

      • 网络 (netstat/ss/ping/traceroute/tcpdump)

        一般会在问完网络时,开始问相关的命令

      • 内存(free 会问到buff/***)

      • 文件处理(grep/sed/awk)很重要,面试必问

      • 一些日常脚本

      • iptables

    • 文件系统(ext4)

      • 超级块

      • cp/mv的区别(按我的理解答了下,但阿里面试官问的实现,没答好)

      • 软硬连接(inode这块,ln / ln -s)

    • 内核调优(一些常用参数的优化,一般是tcp这块的,会在time_wait和syn攻击这块问,还有就是apache那块,百度面试官问select这块,提过)

    • 开机启动过程

    • 一些运维相关的知识

  • 操作系统

    • 进程vs线程(每次面试必问)

    • 段页(百度提了一下,答的很差)

    • IO模型介绍以及同步异步阻塞非阻塞的区别(nginx与apache比较时,通常会问到)select/poll/epoll

  • python

    • 闭包 / 装饰器(网易游戏/阿里/百度)

    • 迭代器 / 生成器 (腾讯/网易游戏/百度)

    • 多线程 thread/threading (要么继承线程类,重写run方法;要么就把函数当参数传入)

    • 内存管理(强烈推荐看《垃圾回收的算法与实现》)

      • 引用计数
      • 垃圾回收
        • 引用计数
        • 标记-清除
        • 分代收集
  • mysql

    • 基本sql语句

    • 主从复制(架构/错误恢复/MHA)

    • mysql存储引擎

    • 备份(热备/冷备)

  • 运维相关

    • LVS四种模式(阿里特别喜欢问,腾讯也问过)

    • 负载均衡(DNS/nginx/LVS/vipserver)

    • 高可用集群(heardbead/keepalived )

      heardbead与keepalived的区别,脑裂问题的解决,高可用方案的优劣

    • 案例分析

面试

腾讯

内推

一面问了linux基础,top/ps一些命令,以及一些常用的监控软件的使用比较。当然,必问的lvs,实现以及原理。tcp三次握手/四次挥手。还问了自己的爱好,和学习历程。之后就是一个月的等待,一天下午,hr打来电话,hr面表现不好,挂了。

正式校招

一面:当时超级紧张,连话都说不出来,还好面试官很nice,主动问我简历上的问题,对我做的一些小程序很感兴趣。之后等我缓解之后,再让我自我介绍

二面:二面面试官让人觉得也很亲切,问了很多家庭方面的问题。虽然最后还是挂了,但还是很感谢面试官。

百度

百度内推和正式校招问的问题差不多都一样。

  1. RAID 的各个级别及区别
  2. python 中 list 和 tuple 的区别 list 是可变的,tuple 是不可变的,可变与可变说的是内存地址是否可变。
  3. tcp 的慢启动 为了进行流量控制,TCP 在发送方维护一个变量"接收窗口",发送端的发送窗口上限值应取“接收方窗口”和“拥塞窗口”中较小的一个,前者是来自接收方的流量控制,后者是来自发送方的流量控制。为了更好的在运输层进行拥塞控制,因特网定义了 4 种算法,即慢启动,拥塞避免,快重传,快恢复。 慢启动阶段,拥塞窗口从 0 开始以指数方式快速增加,直到达到拥塞窗口的门限值,然后开始执行拥塞避免,即拥塞窗口以线性速度增加。
  4. tcp 状态 time_wait 的作用 TIME_WAIT 是为了实现 TCP 全双工连接的可靠性关闭,用来重发可能丢失的 ACK 报文;需要持续2个MSL(最大报文生存时间):假设应用程序端口在进入TIME_WAIT后,2个 MSL时间内并没有收到FIN,说明应用程序最后发出的ACK已经收到了;否则,会在2个MSL内再次收到ACK.
  5. 回退N帧协议/滑动窗口
  6. python的内存管理,我博客做了很详细的解释,我的博客

阿里

实习时自己内推了系统工程师,本来是简历都没过,大神华哥帮我复活,面了7面,我都不知道面了些什么。

秋招

历程

  • 阿里内推挂

  • 阿里校招java开发

  • 网易内推 运维工程师 (一面->二面->总监面->hr挂)

  • 腾讯(内推没理我,校招一面挂)

  • 美团(一面->二面->三面->hr挂)

  • 百度(因为美团面试耽误太多时间,错过了面试,但最后又去面试,面试官给了个机会,三面挂 )

  • 搜狗(美团面试中,没有去面试,很遗憾)

  • 微店提前批 运维研发

  • 蘑菇街 (简历筛选未过)

  • 网易游戏互动娱乐(第一次面试止步二面)

  • 新浪社招/新浪微博

  • 网易北京 运维研发(offer,归属)

  • 还有其它的4399,完美世界之类

笔试

笔试网站目前就几家吧:牛客网,赛码网,ceping,amact,前面2个网站编程题可以跳出,后面几个都不能.

  • 百度:一般用的是赛码网和amact,编程题都不能跳出

  • 阿里巴巴:用的是自己研发的笔试网站,一般是20个选择题(数学题和智力题居多),3道附加题(很难),反正就是写一大堆。

  • 腾讯:一直都用的是ceping网,30道选择题,然后几道论述题,一般都是架构.

  • 网易:牛客网,内推时出了小问题,不过还好,依然过了笔试,校招选择了网易放弃了小米。

  • 网易游戏:互动娱乐出的最正宗的运维笔试题,很给力,题量大。

  • 微软中国:还是很难,同样编程。

  • 华为:机试好像是3道编程题.

  • google,google是有自己的测评,题还是很难。面试英文,压力大。

  • 其余的公司:线上或者线下笔试(笔试题中C/C 偏多)

面试

说几个自己觉得重要的吧

阿里

内推

阿里是一个很看重基础的公司,要求很多,面试官很nice,也是自己从大二开始就去面试的一家公司,之前实习也去面过,校招面的cdn部门,各种网络问题,以及有关cdn的问题。

一面是在自己参加完网易北京内推面试回北京的路上,自己找了个角落,面了20分钟,然后说二面会有后续通知,没有然后了。

校招

  • 一面: 面试官很严厉,全程不怎么说话,我就一直写代码。从最简单的链表逆置到二叉树,字符串匹配算法。还有就是问了python,java的内存管理,新生代什么,画图给面试官看了,jvm的一些(提前看了面经,表现的会好一点)。到了最后,面试官才表现笑容,让我等后续通知。

  • 二面: 二面面试官很和蔼,问了下自己写的项目,基于python的日志分析工具,问了下hadoop的相关知识,HDFS,mapreduce的一些。作业提交(基于java API,streaming,pipes),画了下hadoop的架构,最后表示自己对运维比较熟悉,对开发这块比较弱。然后面试官问了下linux相关的问题。

  • 三面:问了项目相关的问题,以及linux,还有c/c 的一些问题,还有就是算法,面试官笑问我,不是擅长python,为什么写算法题用c,当时回答了自己感觉好把握,好表示。

  • hr面:查户口

过了两周给了口头offer,没有然后了。

网易

内推

网易内推人好少,去北京面试的只有几个,当时去的时候,遇到一个特别好的hr。然后给我安排面试。

  • 一面: python多线程(threading/thread),lvs四种工作模式,然后各种问,nat模式怎么实现,dr模式怎么禁止arp,禁用arp后,负载均衡器怎么找到后端真实服务器mac,如果中间有路由,有交换机,怎么找(真实服务器禁用的是lo的arp响应,vip也是绑定在lo上,但有真实服务器的ip); python调用shell命令,之间方法有什么不同,其实就是返回值。ssh的原理。对虚拟化的了解,kvm/xen。iptables规则的书写;自己的运维平台项目的相关问题,统计nginx日志出现次数最多的ip,awk搞定,最后又作死说了hadoop的nginx日志分析,面试官让我介绍下hadoop,差点挂了。

  • 二面: 写二分查找,快速排序,给面试官讲常见的排序思想,画图;python的内存管理,和C/C 有什么不同,python有回收机制,C/C 手动回收(malloc/free new/delete)。问用过什么自动化运维工具,puppet/ansible/saltstack...;又问有什么区别,答的很差,就是答了c/s架构,ssh和消息队列。等侯三面。

中间hr给了个饭票,去网易吃了个饭。

  • 三面:以为三面就是hr面,结果加了一面。继续技术面,问了docker,openstack,日志处理ELK的原理机制。之后就是问家庭情况,愿不愿意来北京,平时喜欢看什么书。

  • hr面: 家庭情况,工作地点要求,想成为什么样的人,学习计划,薪资要求(要了8000)

之后等通知,G20过后,等来拒信。

校招

校招时自己投了运维研发岗,放弃小米笔试,搞了网易北京的运维研发笔试题。之后通知去面试,但网易游戏的机票也在那一天,就和hr沟通过后,第二天去面试。早上面完网易游戏,中午赶紧去网易面试。赶到网易时,2点,签到之后等待,等到下午快5点时,终于可以让我面试了。

  • 一面: 面试官是我二面面试官,没有自我介绍,问linux命令,问网络;回答nginx的惊群问题,(多线程/多进程(Linux下线程进程也没多大区别)等待同一个socket事件,当这个事件发生时,这些线程/进程被同时唤醒,就是惊群。许多进程被内核重新调度唤醒,同时去响应这一个事件,当然只有一个进程能处理事件成功,其他的进程在处理该事件失败后重新休眠。这种性能浪费现象就是惊群。);如何解惊群问题;回答(锁,红黑树,定时器)

  • 二面:面试官还是熟人,依然问项目,自动化运维的实现,自己平台的优势和缺点,设计思想。ansible/saltstack的比较;从各个运维工具的设计思想组件,给讲了;然后就让我问问题,我就说我还要学习什么,还有什么缺点。面试官说我在运维这一块很优秀,担心我基础(非专业);然后我就说自己学了什么东西,讲了自己学习的东西。说了一个小时多吧,面试官联系了hr,给我安排最后一轮面试。等到7点多,hr通知我去面试。

  • hr面:压力面,很严肃,问了很多问题,对我很质疑,最后对我说,前面两轮面试官对我评价很好,她要考虑下,下周给答复。

走出网易大厦时,差不多是8点了,回到住的地方10点多,吃了点饭,睡觉。第二天,回西安。

  • 周一上课时,9点左右,手机震动,心中有预感,赶紧出教室,网易hr打的电话。

网易游戏

  • 一面: 电话面,两个面试官,很nice。上来就问tcp,把tcp问了个遍,还问了linux内核3.0以后,对tcp协议支持(到现在还不会),vlan/vxlan,之后就是内核参数,进程vs线程,文件系统,项目,我的github,博客。

自己以为挂了,之后十一前打电话,通知去北京面试,本来想拒绝,但包机票,就答应了。

  • 二面:现场面,项目,自动化运维工具的比较(答的很差,然后面试官说了要从设计思路,组件方面回答,下午网易面试用上了)。

在我接受了网易offer后,把三方邮过去后,网易游戏再次约我面试。

美团

选择了美团,错过了百度和搜狗;但美团依旧拒绝了我。

  • 一面: 11点40多面试,就问了两个算法。

  • 二面: 网络,mysql的事务,智力题

  • 三面: 项目,linux基础考察

  • hr:阿里月饼

学习历程

个人学习

接触计算机方面知识是在大一,当时只是为了考个二级,莫名其妙的入坑。从大一学习c语言吧,当时看的是谭浩强的书,勉强入门吧,之后也就看了《c与指针》之类的书。大一暑假开始学C  ,看了一些C  方面的书,《C   primer》,《编程思想》,《c  沉思录》,还有对我很有影响的《STL源码剖析》。那时候,对阿里有种向往,想进阿里,然后开始学java,也看了很多书,《java编程思想》,《java web开发-王者归来》之类的。然后大二开始投了阿里和腾讯。腾讯连笔试都没过,阿里就面了个java,到二面挂了,当时颇受打击。当时笔试题有好多linux的,然后大二暑假就开始学linux,一开始看完了《鸟哥的linux私房菜》,之后又是各种linux书籍,学shell,看数据库,看架构。选择运维是个意外,但也是一种逃避吧。大三一年就在linux中挣扎,很痛苦。linux学习中发现运维的面很广,自己就选了devops,看了很多,也学习了很多。

书籍推荐

linux

  • 鸟哥私房菜

  • 《 Linux 内核设计与实现》

  • 《Linux从入门到精通(第2版)》

  • linux就是这个范儿

  • 《Linux与Unix Shell 编程指南》

  • 《unix环境高级编程第二版》《unix操作系统设计与实现》

  • 官方文档

网络

  • TCP协议族

  • TCP详解(1,2,3)

操作系统

  • 现代操作系统

  • 深入理解计算机操作系统

  • 操作系统概念

大数据

  • hadoop核心技术

  • Hadoop权威指南

  • 《Hadoop技术内幕-深入解析MapReduce架构设计与实现原理》和《Hadoop技术内幕-深入解析Hadoop Common和HDFS架构设计与实现原理》

自动化运维

  • python自动化运维

  • saltstack技术入门与实战

  • ansible自动化运维

大公司很看重基础,多看看操作系统,网络。

未完待续

#阿里巴巴##腾讯##百度##网易##运维工程师#
全部评论
居然还有这么强的校友
点赞 回复
分享
发布于 2016-11-07 23:02
楼主phenoxy专业的
点赞 回复
分享
发布于 2016-11-07 23:36
百信银行
校招火热招聘中
官网直投
膜拜膜拜,同是运维,差距怎么这么大。。。学习
点赞 回复
分享
发布于 2016-11-07 23:53
牛逼!既懂运维还会开发的人真不多,你怎么记得住那么多东西啊
点赞 回复
分享
发布于 2016-11-08 00:28
先给你加个精,等待楼主更新~~
点赞 回复
分享
发布于 2016-11-08 10:03
自学到这样算厉害了
点赞 回复
分享
发布于 2016-11-08 20:44
个人觉得楼主作为非科班的本科生已经很不错了
点赞 回复
分享
发布于 2016-12-14 00:22
请教 楼主 网易北京25W?
点赞 回复
分享
发布于 2016-11-07 22:25
很棒啊楼主
点赞 回复
分享
发布于 2016-11-07 22:31
赞!功夫不负有心人!向楼主学习!
点赞 回复
分享
发布于 2016-11-07 22:49
隔壁学校 顶个贴,膜拜大神
点赞 回复
分享
发布于 2016-11-08 08:52
膜拜校友,太牛逼了
点赞 回复
分享
发布于 2016-11-08 09:54
太强了👍,膜拜大神啊
点赞 回复
分享
发布于 2016-11-08 19:46
厉害
点赞 回复
分享
发布于 2016-11-08 20:57
厉害了word哥
点赞 回复
分享
发布于 2016-11-08 22:47
厉害
点赞 回复
分享
发布于 2016-11-09 01:44
楼主网易那个是运维岗?还问openstack?
点赞 回复
分享
发布于 2016-11-12 00:01
不错哒,小学弟呢。
点赞 回复
分享
发布于 2016-11-25 14:57
好厉害啊,学习能力真强!
点赞 回复
分享
发布于 2016-11-26 01:10
牛逼
点赞 回复
分享
发布于 2016-11-27 18:12

相关推荐

45 352 评论
分享
牛客网
牛客企业服务