比约定的面试时间提前了二十分钟,周天白来到望京科技园,他在楼下转了会,十分钟过后,他敲开了公司的门。
接待他的前台小妹把他带到了一间空旷的会议室,在办公区旁边,他随意撇了眼看下,工位大约七八十个个,分为三个区,员工看着都挺年轻,看上去都挺认真工作。
前台小妹给他倒了一杯水放下一张面试职位表和一只笔之后就离开了。
大概十分钟之后,一位中年男人进来了,周天白站起来微笑,来人点点头:“坐下吧,我是今天的面试官王越,技术部负责人。”
周天白把刚才从包里拿出的简历双手双手递给了面试官:“你好,王总,我是今天来应聘贵司软件开发的周天白,这是我的简历。”
面试官接过简历之后,浏览了一下,问他:“你是机械工程专业的,怎么会想到自学开发?”
“大二下学期的时候,开始对代码感兴趣就开始自学,了解越多学习越深之后更加愿意有意愿加入IT行业,一边学习一边动手做项目。”
“哦,那你是怎么自学的呢?”
“了解阶段是从简单的基础协议开始看的,在3Wshool网站上进行学习,决定入门后从软件工程系同学那借了专业书籍,配合廖雪松老师的视频,论坛,各个老师的博客,从命名、环境变量等基础开始系统的学习,在实战过程中给学校写了网站和面向师生的APP。原计划是报双专业的,因为一点事错过了报名时间所以经常去软件系蹭课。”
“4个瓶盖换1瓶酒,要喝150瓶酒,最少多少瓶?”
“113瓶,买一瓶喝掉一瓶,攒够4个瓶盖就去换一瓶,最初的4瓶是需要购买的,之后每4瓶中就有1瓶是兑换来的,也就第(1+n*4),n=1,2,3...瓶都是兑换来的。n最大取37,所以只需要买113瓶。数学算法是:150/4=37.5,150-37=113。”
“给你一个5L和3L桶,水无限多,怎么到出4L水?”
“先将 3L 的桶装满水,倒入 5L 的桶里。再重新将 3L 的桶装满水,倒入 5L 的桶里,把 5 L 的桶装满后,这样 3L 的桶中就剩下 1L 的水了。然后把 5L 的桶里的水倒掉,把 3L 的桶中剩下的 1L 水倒入 5L 的桶里。再打满 3L 的水倒入 5L 的桶里,就是 4L 了。”
“能谈谈你对三次握手四次挥手的理解吗?”
“TCP协议,在发送数据前,通信双方必须在彼此间建立一条连接。在连接的建立过程中,双方需要交换一些连接的参数。TCP提供了一种可靠、面向连接、字节流、传输层的服务,采用三次握手建立一个连接。采用4次挥手来关闭一个连接。
第一次握手:客户端发送网络包,服务端收到了。这样服务端就能得知道:客户端的发送能力、服务端的接收能力;第二次握手:服务端发包,客户端收到了。这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力;第三次握手:客户端发包,服务端收到了。这样服务端知道客户端的接受发送能力。
三次握手的目的并不只是让通信双方都了解到一个连接正在建立,还在于利用数据包的选项来传输特殊的信息,交换初始序列号ISN。3次握手是指发送了3个报文段,4次挥手是指发送了4个报文段。
更简单的理解是处理客户端和服务端之间的连接通信,确保双方的接收发送能力。”
“什么时候用断言?”
“通常在开发和测试时候开启,为了提高性能,在软件发布后,断言坚持通常是关闭的。它是包含布尔运算表达式的语句,可通过其返回值来判断验证传值参数,但不能用断言去改变程序的状态。”