tplink有笔试,笔试题目大部分选择题是智力题,少数两道考了c,还有一些香农定理等。然后问答题问了一个测试的思路,问了路由器的一些基础知识,还有大概两个编程设计题,编程题是考的字符串的排列。
笔试后大概3天收到面试通知。去了之后了解到这次的面试一共有4轮。
1面:hr面+技术面
hr面20分钟左右,就是正常的聊天。会问到奖学金以及比赛以及一些对求职的看法。
技术面40分钟
--介绍项目,针对项目问了问题,例如最难的地方
--了解实习项目,问测试思路。
--问到测试的工具是否有了解。为什么选择测试。
--问到机器学习算法LR和SVM 的原理
LR:线性回归模型,通常用作二分类,从训练数据特征学习出一个0/1的分类模型,以样本特征的线性组合作为自变量使用logistic将自变量映射到0-1上。
SVM:支持向量机,平面切分;
--python中的except,很久没看python语法了,可能还是需要回头再复习一下。
try...except...else,except 相当于java中的catch吧。
--重写和重载的区别
重写:发生在子父类间,需要参数列表相同,返回值类型相同(Java5及以前)。
重载:发生在同一类间,参数列表不同,函数名相同,返回值类型不做限定。
--值传递与参数传递
Java总是采用值传递(普通类型和引用类型),函数参数是其一个拷贝,对其更改不影响本来的值。
--内存泄漏如何检测
不能被GC回收却占有内存(可达但是不可用),常见于静态集合类,监听器,链接等等
预防:确认一个对象无用后将其设置为null
常用工具:Optimizeit Profiler,Purify等检测java程序运行时对象的申请释放,内存情况。
--Java项目:没有做过
--问到了笔试题里面的一个题目,测试路由器。问是否有更好的办法。并手写自己的解答方案。
--线程死锁的原因
竞争非剥夺性资源,进程推进的顺序非法
条件:互斥(只能有一个进程用),请求和保持(已经保持了一个资源,但又提出了新的请求),不剥夺,环路等待。
解决方法:加锁顺序,加锁时限,死锁检测
--http请求过程
域名解析->发起tcp的三次握手->建立连接后发起http请求->服务器响应,发回html页面->浏览器解析html页面
--tcp与udp的区别,及应用场景
tcp:文件传输,发送和接收邮件,远程登录
udp:及时通信(qq),在线视频,语音电话
--域名解析
DNS域名解析系统: 本地域名服务器代主机进行查询,在本地域名服务器及主机都有缓存。域名->ip地址
--ipv4环境下访问ipv6地址,网络的问题需要再进行复习
方案一:4to6的隧道
方案二:自建VPS S-S服务器
方案三:购买支持ipv6的VPN
--是否获得了实习的offer
2面
3天后收到2面,视频面试,还是去的酒店里公司提供的电脑。由于网络原因只进行了视频,没有桌面共享。
1.因为第二个项目写的是关于SSL协议的。问了SSL协议的链接过程。
客户端发送协议版本号,一个客户端生成的随机数,以及客户端支持的加密算法。
服务器确认加密算法,发送服务器证书,一个服务器端生成的随机数。
客户端确认证书有效,生成一个新的随机数,用公钥进行加密,发送给服务器端。
服务器端使用私钥进行解锁。
客户端与服务器端根据定好的加密算法,用过程中生成的三个随机数生成对话秘钥,之后的加密都采用这个秘钥。
2.哪些情况下会进行客户端证书的验证
单向验证:只验证服务器端证书,未被屏蔽的情况下所有用户都可以访问
双向验证:客户端也需持有CA证书,服务器端进行验证,只有服务器端允许的用户才能使用。一般用于企业级应用对接。
(1). 浏览器发送一个连接请求给安全服务器。 (2). 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。 (3). 客户浏览器检查服务器过来的证书是否是自己信赖的CA中心所签发的,如果是,就继续执行协议。如果不是,客户浏览器就给客户一个警告消息,警告客户这个证书不是信赖的,询问客户是否需要继续。 |