首页 现实

90后的互联网时代

第七章:一面·技术面试

90后的互联网时代 空天自碧 2299 2020-09-06 15:22:49

  比约定的面试时间提前了二十分钟,周天白来到望京科技园,他在楼下转了会,十分钟事后,他敲开了公司的门。

  接待他的前台小妹把他带到了一间空旷的聚会会议室,在办公区旁边,他随意撇了眼看下,工位约莫七八十个个,分为三个区,员工看着都挺年轻,看上去都挺认真事情。

  前台小妹给他倒了一杯水放下一张面试职位表和一只笔之后就离开了。

  或许十分钟之后,一位中年男人进来了,周天白站起来微笑,来人点颔首:“坐下吧,我是今天的面试官王越,技术部卖力人。”

  周天白把适才从包里拿出的简历双手双手递给了面试官:“你好,王总,我是今天来应聘贵司软件开发的周天白,这是我的简历。”

  面试官接过简历之后,浏览了一下,问他:“你是机械工程专业的,怎么会想到自学开发?”

  “大二下学期的时候,开始对代码感兴趣就开始自学,了解越多学习越深之后越发愿意有意愿加入IT行业,一边学习一边动手做项目。”

  “哦,那你是怎么自学的呢?”

  “了解阶段是从简朴的基础协议开始看的,在3Wshool网站上进行学习,决定入门后从软件工程系同学那借了专业书籍,配合廖雪松老师的视频,CSDN论坛,各个老师的博客。”

  他增补:“从命名、情况变量等基础开始系统的学习,在实战历程中给学校写了网站和面向师生的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个报文段。

  更简朴的理解是处置惩罚客户端和服务端之间的连接通信,确保双方的接收发送能力。”

  “什么时候用断言?”

  “通常在开发和测试时候开启,为了提高性能,在软件宣布后,断言坚持通常是关闭的。它是包罗布尔运算表达式的语句,可通过其返回值来判断验证传值参数,但不能用断言去改变法式的状态。”

  “简历上有说你有自己写APP及网站,能看看吗?”

  周天白拿出自己手机在页面上找到了“工大通”APP,双手递给面试官:“是这个,是一款校园软件,面向师生,凭据其身份来开放对应权限,产物需求15天,开发周期80天,测试宣布一周。网站是我们学校的一个教务系统。”

  面试官接过手机后,点了APP,问道:“你们是几小我私家,如何分工的?”

  “四小我私家,我们宿舍的人都自学了开发,需求阶段是各人一起加入,开发是我和一位舍友卖力后端接口及数据库、运维,另两位舍友卖力前端,测试也是各人一起加入的。”

  “好的,那你在测试历程中都市发现什么问题呢?”

  “主要是空指针,回传异常,判断失误等。”

  “学生你们是凭据学号来判断用户信息的,那老师和非在校人员是通过什么来判断的?”

  “老师的话是通过系别年级名字来唯一性校验的,我们从学校网站上收集了一份老师名单加到了数据库中,每月更新数据。非在校人员暂时没有给登录浏览权限。”

  “你们数据或许有几多?如果数据多了,查询耗时太慢怎么办?”面试官问问题的同时也一直在用一只手滑动APP页面。

  “我们数据并不太多,不到一百万。在之后的测试情况中结构过500万数据,模拟了慢查询,简朴的单个条件查询,耗时40秒。后续对数据控制了去重去空、加组合索引,建设内存临时表数据先插入临时表中,优化索引等操作来调优。”

  “好的,那两个工具属性名纷歧样如何将一个工具的属性值赋给另一个工具?”

  “两者属性相同且都是果真的时候,直接传,objA.属性A=objB.属性B;类型差异,可以强制转换,或者结构工具,再依次复制内部的属性,或许用反射映射属性。”

  劈面试官划到“找校友”这模块时,搜索留言校友圈来回切换频频后再搜索返回的时候,法式崩了,他稍微抬了下头:“有过栈溢出导致进程瓦解卡死的问题麽。”

  周天白看到了页面上明晃晃的“法式已停止”提示。

  “有过,直看法的看到StackOverflowError异常就去jvm上找,隐蔽一点的会从crash日志里查找或是借助coredump分析;”

  “我们碰见过此类问题的大多是在写代码时泛起递归死循环,线程栈空间设置比力小。”

  “嗯,纵然有过一两年经验的法式员有时候也会泛起这样的问题,那你们在学习历程中哪部门会学起来觉得吃力呢?”

  “二叉树,图这类的算法在开端接触的时候学起来是比力吃力用时也是比力久的,后面在实践历程中也是有用到并不停和软件系工程的同学进行交流,有了更深层的了解和运用。”

  “好的,关于你的情况我或许了解了,我这边的面试先到此结束,接下来如果你有时间我再部署一次人力面试。”

  “有的。”

  “好的,那你稍等。”说完,面试官便起身离开。

按 “键盘左键←” 返回上一章  按 “键盘右键→” 进入下一章  按 “空格键” 向下转动
目录
目录
设置
设置
书架
加入书架
书页
返回书页
指南