有多少个昨天
是为了圈住今天一个愿
学员寄语
春招我面试了YY的网络岗、阿里网络岗、网易的SDN虚拟云开发岗、最后是腾讯的网络技术岗,一路走路觉得挺不容易的。感谢杰哥一路指导,一边和好友吐槽失业的问题。还好最后到拿到了不错的offer,本来还想继续刷offer的,算了,好累啊,还是探究SDN有趣一些,不能浪费时间了。
这几场面试,就好像是一场大考,压力不下于高考,有种脱胎换骨的感觉,面试的内容挺有趣的,这次写出来了,当作回忆吧,挺有趣的~
希望对大家有所帮助。
----余*仪 拼客学院第17期CCIE学员
网易篇
一面基本上把我在大学里所会的,所掌握的都挖出来了,掌握程度怎样都展示出来,对我的能力做了一个很全面的技能清单。之前面试也不知道怎么准备,基本上是裸考的,记住就记住,复习的内容太多,索性不复习了~~
对于二面,面试官真的是有研究的。然后我们就思想碰撞了,我只是表达我的理解而已,都是课堂里养成的臭习惯……不管老师是教授还是啥,不管有没有人来听课,老师讲错,或者是跟自己理解的不一样,直接就上台就原理分析老师和自己理解的矛盾。。我们班里基本上都是这么干的。虽然是我们错的概率居多,但老师们并不反对我们啊。。我觉得这才是大学的课堂。然后,貌似,忘了我在面试。我觉得当时我就是在进行一次学术交流,我虽然不同意你的观点,但我尊重你的思考。就是这种心态……真的忘了在面试。学习sdn这么久了,第一次遇到可以面对面交流的。平常都是自己撸实验,看文档和网友交流,感觉真的不一样,就想把自己思考的东西输出……
不管能不能通过网易的考核,我都很感谢三位面试官给我的学习上的提示、引导。
一面:
之前就听杰哥说过,现场画拓扑的,就没听说过现场写算法的。。并不是很想做纯码农哇,他们有问我网络的,也有问代码的,之后nosql-sql一块问,问两次,让我比较两种数据库的使用,让我解释nosql快的原因,sql的table和nosql的list有什么区别?
还有的就是python装饰器的解释、另外的就是多线程、多进程的理解;之后就linux,你如何查dns?(我说用ifconfig)你如何配置地址?(ifconfig 【ip】 up)你如何查看端口占用?(tcpdump)你如何查看进程?(ps -ef)如何杀进程(kill -9)为啥的是-9?
之后就是写算法,折半查找算法,我用python写出来之后,分析思路、复杂度,比较冒泡,堆排序,快排的复杂度。
之后就是子网划分,192.168.10.0/24分四个,现场写sql的建表命令。分析一下wget、curl两条命令的不同;如何为不同的用户、用户组给予权限?(这个我寒假的时候学过了啊,很久没用忘了。。。。)
chmod +x有什么意义?
谈谈你的专业;
之后就是c,c++,c#,java的一些特性发问。
说一下cisco的acl是如何配置的?
ospf的area 0可以不要吗?
应用层的常用的协议端口号,dns,http,https,dtp,smtp等;
解释一下tcp/udp的不同;
解释tcp面向连接、面向过程的特点;
滑动窗口机制的实现;
对了,那个子网划分的时候,192.168.10.255的广播效果和192.168.10.63有什么不同(我就说,按照卷一的解释,前者是全网广播,后者只是在该子网内广播,至于说怎么验证,我没做过)
还有!tls和ssh有什么不同,玩ssh的时候是怎么做的(ubuntu16会自动开启防火墙需要先关闭和主机防火墙关闭,之后ifconfig看地址,通过xshell简历ssh连接,ubuntu14直接查看地址即可)
讲一下ospf;
分析arp;
我Py爬虫课的设计思路;
专利的设计思路;
划分vlan作用;
解释TCP滑动窗口机制的实现,拥塞避免的过程,目的是啥,门限值是如何确定的。
二面:
面试官:你怎么理解SDN?
我:sdn全称software defined networking,中文译为软件定义网络,我的理解是软件即所谓的编程实现,定义是我对自己网络的理解后下的规则,网络则是对传统网络的升级优化。
面试官:你画一下sdn的常见的简单拓扑。
我:(就是一个控制器,几台交换机,表示东西向接口、南北向接口)
面试官:你给我讲讲openflow。
我:openflow到现在一共有9个版本,我用的更多的是1.0和1.3版本,1.0主要就是六个匹配项标签,1.3引入了vlan以及另外的一些细致控制属性,我还没深入学习每个属性项,但我知道这些是用来做精确匹配的。
面试官:呵呵,你可以去看看openflow官网的文档的。
我:我看得是图解openflow。
面试官:Openflow是哪一层的?(我当时是怎么了,直接说openflow是物理层的,之后完了长达20分钟的辩论炸开~)
面试官:你怎么觉得openflow是物理层的?
我:因为需要承载流量呀。
面试官:好,那PC1 ping PC2需要经历那些步骤?
我:首先PC1发出arp请求,之后交换机查看tcam表,没有相关信息,于是向控制器openflow 发出echo请求,如果有PC2的地址,则下发流表,否则下发error信息令交换机丢弃数据包。
面试官:那你说说openflow有多少种状态?
我:Echo,error,还有一个忘了~~
面试官:那他们如何建立连接的啊?
我:通过tcp三次握手控制器和交换机建立连接之后,控制器下发流表。
面试官:既然是控制器下发流表。那openflow承载什么角色?
我:噢,我说错了,openflow是控制层和物理层之间的。
面试官:好,那你说说sdn是为了解决什么问题?
我:sdn提出的是时候就是为了解决网络硬件升级瓶颈的问题)
面试官:你的简历中的探究思路是怎样的?
我:利用openflow可编程的特点,我们专业主打学习的协议就是RFID的协议,我想通过定义一个转换集,奖rfid协议融合进openflow里面,进行转发。
面试官:你对onf和opendaylight怎么看?
我:onf是以openflow作为南向接口的正统SDN实践,而opendaylight则是传统路由大厂像cisco,vmware通过重新定义sdn,使用restapi作为北向接口,兼容openflow与自己开发的通信协议作为南向接口。
面试官:你画一下你python爬虫的流程图吧。
我:画图之后分析时间复杂度,以及设计动机,代码实践的思想。
面试官:噢,对了,你怎么理解ospf?
我:(网易真的很喜欢ospf~~)ospf全称是open shortest path frist,建立的过程中有七个状态……
面试官:ok,你讲讲ospf在sdn中的应用。
我:哎,面试官,你的这个想法挺有趣,请问白壳交换机顶破天也就是二层设备的去智能化,可以跑ospf?ospf毕竟是网络层的协议啊!
面试官:嘿嘿,你不懂了吧,你管他白壳还是黑壳,现在的交换机基本上都可以跑ospf,你定义好协议内容即可。
我:好的,面试官请问,ospf是部署在交换机上还是控制器集群中?【此时此刻,我只想呼唤杰哥助攻,what the fuck!!!】
面试官:你看哈,ospf可以支持存储全网的拓扑结构,这样的优势,可以很方便的形成一层overlay,你说部署在哪里,好下一个问题:说说,你专利的设计是怎么完成的?
我:palapalal用概率论、专业基础课程RFID技术等等啊,数学建啊,palapalal解释一通。
面试官:你做过园区网络吧,先画一下园区网设计的架构吧
我:就是画接入层、汇聚层、核心层交换机以及划分vlan。
面试官:流量怎么区分的?
我:通过划分vlan,区分出来自住宅的流量以及来自公司的业务流量等等。
面试官:讲讲交换机中access和trunk有什么区别?
我:通过trunk需要打标签。
面试官:哎,你玩过java,使用过hibernate,你当时是扮演什么样的角色?为甚选择hibernate?
我:我当时是负责移动端后台的开发工作,只是从web端后台移植到移动端,通过mina这个框架达后台,使用hibernate,是由于数据量太大,腼腆接近一亿条写入,选用hibernate是为了保证高并发时的写入正常进行。
面试官:你听说过vrf吧,你讲讲vrf
我:这个还是打标签的过程(事实上我忘了~)
来来讲一下nvf?
我:就是云计算的实现呀~
面试官:来讨论一下arp,pc1的ip 172.16.1.21/32 gw 172.16.1.1/24,pc2 ip 172.16.2.21/32 gw 172.16.2.1/24。现在pc1 ping pc2,arp包怎么走?
我:PC1发送arp request包,pc2 会回复 arp reply。
面试官:你详细说说arp包是怎么走的?
我:pc1发现目的地址不在哦同一个网段,于是改为流向网关,gw1发现pc2的ip地址也不再同一个网段,于是发送给gw2,之后有gw2流向pc2,arp reply则反过来。
面试官:那么arp request的ip 和mac是什么内容?
我:ip是172.16.1.21,mac是全f。
面试官:你有什么问题问我吗?
- 还没有人评论,欢迎说说您的想法!