有多少个昨天

是为了圈住今天一个愿

 

学员寄语

 

春招我面试了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。

 

面试官:你有什么问题问我吗?