2018-08-16 面试总结
第一次面试 face++
在大三第一学期开学的时候,经佬li内推面试了face++,当时在网上查了一下face++的实习生可能会被问到哪些问题
翻阅到了知乎中一个话题
“在 Face++ 旷视科技实习是一种怎样的体验?”
参照其中用户 ttt就是很帅啊 的回答,复习了JAVA的内存泄漏、框架、设计模式等
然而当天的表现并不理想。
首先是围绕项目讨论。我的个人项目比较拿得出手的是基于Django的网页开发,但是面试官表示并没有接触过网页开发,所以简单的聊了两句就没有细问了。主要回答了我在其中做了什么,有什么问题,如何克服。
由于我在简历中写到,我的劣势是对算法及数据结构的掌握不足,目前通过算法网站和书籍对比自己与他人代码提高。
面试官:你在这方面比较薄弱,我们就不问这个了
我:……其实您也可以问的?
面试官:不,我不问。你数学好吗?
我:还可以
第一题
a,b∈[0,1],是随机数,求max(a,b)的期望
当时可能是脑子懵懵的,画了个坐标轴想不清楚怎么做
后来细想一下其实一个三维坐标就可以表达
x,y轴是a和b,z轴是max(a,b)
三维坐标
由于matlab坏掉了,所以只能暂时用画图绘制了。
整体的效果看起来会是图中这样,由两个四棱锥组成的奇妙图形。答案是1/3+1/3=2/3
第二题
n的阶乘的结果的首位数字是什么
没有想出来有什么方法。只能想到暴力去计算。保留前几位数字做暴力推算。
面试官说那我们换个问题问吧,问一下机器学习相关内容,并不知道为什么面试人脸识别著名的公司,我却没有着重复习这一块
第三题
平面上n个散点,如何确定拟合直线
最小二乘法
由于没准备,忘得差不多了,捣鼓了半天画了很多线不知所云。
第二次面试 百度地图
这个假期,系群发了一个实习生的招聘,我就去面试了。
这次着重准备了leetcode的面试题呀,网上的一些面试题呀
然而到现场了我发现我咋还是什么都不会,题目记得不是很清楚了,给了一张卷子,上面有二十几道小题
第一题
简述三次握手过程。
头天正好看到了一个有趣的描述
参考资料:网络请求过程扫盲
浏览器:你好服务器,我是 浏览器A。
服务器:你好 浏览器A,我是 服务器B。
浏览器:服务器B 你好
实际过程是
- 第一次握手:客户端发送syn包(syn=j)到服务器,进入SYN_SENT状态,等待确认
- 第二次握手:服务器受到syn包,确认客户的syn(ack=j+1),同时回馈一个syn包(syn=k),即SYN+ACK包,此时服务期进入SYN_RECV状态
- 第三次握手:客户端收到SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此时,客户端和服务器同时进入ESTABLISHED(TCP连接成功)状态,完成握手。
之后是网络相关的问题
请说明402 403 504 505等等的具体含义
参考资料1:HTTP请求错误解析(文字版)
参考资料2:HTTP错误代码为什么跳过了402? - 大书的回答 - 知乎(知乎带图版)
400 语法有误
401 未授权,登录失败
402 需付费
403 禁止某些访问,如写访问,读访问……
404 找不到,URL路径可能错误
405 不允许此方法
406 不可接受
407 需要代理身份认证
408 请求超时
409 请求冲突
413 请求实体过大
500 内部服务器错误
501 Web服务器不支持此请求需要的功能
502 网关出错
之后是一大段log,问你哪个ip访问最多,访问了多少次。哪个页面访问的最多,访问了多少次。
这里是具体的展开解答:HTTP日志记录
之后是一些PHP相关的问题
考了一些函数,但是没能记下来具体函数名
后期可以参照这篇文章PHP常用函数归纳总结,系统的回顾一下。
之后问了SQL如何优化,SHELL的一些操作,以及$?是什么意思。但是我都不太会。
整张卷子只答出了几道题。双方都显得有些尴尬。于是面试官就这试卷问了一些扩展性问题。
比如我们的网站如何知道有人访问了。其实就是用log记录。我们当时是直接存在云端数据库中。
后来聊到我有写过一些前端,问我能不能写段ajax。然而我再次忘记。
感觉这个面试岗位,似乎真的是需要能一来就可以做项目的人。我后来询问面试官,不考察一些算法和数据结构吗?他说实际工程中其实不需要特别高的算法知识,这个不是他们主要考察的方面,可能其他部门会需要问这些问题。
真是两次难忘而警醒的面试经历。