深信服实习前端面经(拿到offer)
一面(30分钟)
1.介绍自己,介绍项目。
2.面试官根据简历内容提问,重点在计算机基础知识。
4.简历写了了解node和express框架:询问Node.js的异步非阻塞,牵扯到操作系统(进程线程、异步同步、阻塞非阻塞)。
5.简历写了了解nginx:说下正向***与反向***区别(本来完全知道的,http权威指南那本书很全的解释了几种***自己都有看过,当时紧张两次说成一样了,被反问后也没反应过来然后就被问了下一个)。
6.简历写了熟悉linux下开发:询问改变权限命令,具体说到421规则和RWX。
7.简历写了熟悉Git版本控制:问用的GUI还是命令行?我说命令行,询问了拉取,提交和创建分支的命令,(push,pull)。
8.简历写了了解mongo和mysql数据库:问说明这两个数据库区别,分别适用于那种情况。
9.问我专业?计算机科学与技术。学了那些课程?数据结构与算法学了吧?学了。写一个希尔排序(不会,囧),写一个堆排序,写一个快速排序。
10.TCP三次握手。
后来知道一面面试官是服务器和VPN领域比较有名的一个技术专家,写过好几本相关的书(其中一本书我还看过,但没细看因为和前端关系不大)。
二面(80分钟)
一面结束后,面试官让我稍等,因为一面问题比较简单所以觉得应该能稳过。果然面试官出去大概十分钟后,二面面试官进来开始二面,期间和同学聊q。
1.HTTP协议:HTTP请求头,HTTP请求方式哪几种以及区别,cookie在哪里,什么特点,服务器那边对应的是什么,除了cookie还有那些常见的客户端存储。HTTP相应头,状态码
2.HTTPS协议:说完SSL与TLS后自己又拓展把细节介绍了下,对称密钥与非对称密钥,https优缺点,https证书cname配置。
3.background实现一个简单效果,我一直试图用svg和iconfont实现,后来才知道人家只问background,然后我解释用svg和iconfont可以减少请求与大小优化性能
4.盒子模型,margin负值实现简单效果,position的属性
5.水平垂直居中一个div
6.三栏布局,我说了flex布局然后拓展说了bootstrapt的原理(3代以前媒体查询+浮动+绝对定位,四***始用flex)
7.js基本类型,说完六种后我说还有symbol类型(面试官表示不知道),常见的引用类型
9.构造一个树形结构,要求清晰耐用(因为用了空元素,被说冗余有些高)
10.dom实际操作:生成子元素并赋予id,修改css,删除一些节点等等类似简单问题(很基础)
11.看到我会数据库,打算让我设计一个系统的数据库,因为我怕被问到不擅长的地方,直接说不是很擅长数据库设计,然后他给我画了几张表。问我相关sql语句,基本就是增删改查不会涉及存储过程和触发器所以也很基础。
13.因为从xss说道跨域,解释了游览器同源策略,前端跨域解决方案,cors,jsonp,图像ping
三面(20分钟)
十几分钟后,一面面试官回来,告诉我还有一个三面,三面是深圳那边电面,明天早上来电话。
一早上没来电话,下午三点我在实验室沙发睡觉,来了一个深圳电话,晕晕乎乎接了电话,面试官解释早上有些忙不好意思,我同时找眼镜找了变天最后还是没找到(八百度近视的我只有和我差不多的人才能体会不戴眼镜的痛苦)。开始三面,从自我介绍开始一直卡到项目介绍。好在问的很水。
1.自我介绍
2.项目介绍,技术选型,上线了没,现在就能访问,给了地址
3.你大三实习不方便吧,能解决不。
4.感觉你对新技术关注度很高,项目技术选型比较新,平时怎么学这些,上那些网站,看了那些书,网站关于什么,书关于什么
5.写博客么,给了我博客地址,写了多少篇?30多篇吧。
6.参与过开源项目么,没有。虽然我有四年使用的github,但只是作为个人项目的一个代码托管工具以及方便部署项目,目前技术太水没有做开源的能力,以后有能力会尽量参与。
7.聊人生
8.怎么知道公司的
9.有没有其他问题问他
#深信服##前端工程师#