2022.1.12日搜狐焦点前端实习面经
-
自我介绍
-
看你大部分都是做的python技术栈,为什么想来做前端的东西?
兴趣驱动
-
智能基金管理系统是实验室的项目还是个人练手项目?
实验室项目
-
做这个项目的时候哪些功能感觉到比较费劲,或者画页面比较难?举例说一下
后端的数据加载慢,导致前端等待时间过长,通过简单的进度条加载提升用户体验
-
一个url输入到浏览器到最终内容呈现,经历了哪些步骤?
-
TCP建立,三次握手和四次挥手的目的?
-
建立链接为什么是三次,不是两次或四次?
-
HTTP请求方式有很多种,用的最多的可能是get、post请求,get和post请求有哪些不同
get参数通过url传递,post放在request body中。get请求在url中传递的参数是有长度限制的,而post没有。get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。
-
我看你也用过flask写过后台,你在设计接口种类的时候会依据什么来设计接口,什么样的接口用get,什么样的接口用post?
-
接口幂等性概念知道吗?
-
http和https的区别,https的安全性怎么做到的?
http是明文传输的,ssl就是对数据进行加密的过程
-
CA证书,CA证书在HTTPS中起到了一个什么作用?
-
CA证书参与到HTTPS中的加密过程了吗?HTTPS需要对CA证书进行加解密吗?(需要)
1.服务器向CA机构获取证书(假设这个证书伪造不了),当浏览器首次请求服务器的时候,服务器返回证书给浏览器。(证书包含:公钥+申请者与颁发者的相关信息+签名)
2.浏览器得到证书后,开始验证证书的相关信息,证书有效(没过期等)。(验证过程,比较复杂,详见上文)。
3.验证完证书后,如果证书有效,客户端是生成一个随机数,然后用证书中的公钥进行加密,加密后,发送给服务器,服务器用私钥进行解密,得到随机数。之后双方便开始用该随机数作为钥匙,对要传递的数据进行加密、解密。
-
HTTP的不安全性第一个体现在明文传输上,第二个就体现在通信双方不能确认双方身份
-
服务器拿到返回后开始渲染,为什么CSS一般写在头部,JS一般写在底部最后面,为什么?
JS中可能会有对DOM和css进行操作,在之前的话可能会出问题。
JS线程在工作中实际JY线程是堵塞的,所以说将其放在后面可以更快的渲染CSS和DOM,把展示的内容更快的展示到页面上。
-
JS是单线程语言,在处理异步事件时有其独特的机制,说一下这个机制。Event Loop
-
开发中你怎么处理异步请求
-
你对promise的理解?你觉得它是个什么东西?
-
promise可以在then中拿到异步事件的结果,promise可以一直then下去,为什么?
promise.then都会另外返回一个promise对象,所以可以一直then下去。。。
-
JS中有非常明显的靠后执行的函数叫setTimeOut,请问setTimeOut(function() {}, 0);的执行时机是什么
-
日常开发中ES6还是Typescript
-
ES6的新特性你日常开发中常用的有哪些?
-
var为什么会出现一些问题?
变量提升的问题。。。(当时忘了)
-
给了一串JS代码,问最后的打印结果是什么,关于this指向的问题,我答错了。。。
let obj = { name: "Tyler", a: function () { let name = "Anderson"; let test = () => { console.log(this.name); }; test(); }, }; obj.a();
-
Vue中的nextTick听说过或使用过吗?
-
Vue有哪些生命周期钩子函数?
-
父子组件之间去调用钩子的顺序是什么?
唯一原则:父组件先开始,子组件先结束。
-
一般在哪个阶段进行页面初始化数据的请求?自动发请求的阶段?
一般在created阶段比较好,在beforeCreated阶段请求的话可能没有什么意义(可以请求,但是可能组件还没有准备好,拿到数据也没办法去做什么事情)
-
data为什么是一个函数?
所有的组件可能会重复复用,如果data是数据的话可能就会共用同一份数据,是函数的话可以保证组件之间的数据是互相隔离的。
-
之前使用过flex布局吗?
-
给了一张图片,问键盘最下面两排的按键怎么布局?
-
空格键右边的按键那个布局你怎么布局?(右上角一个小图标,下面是一行字),你有哪几种方法
https://img.huahuo.com/upload/image/20170222/1487732207749499.png
-
反问给建议
网络方面的知识还可以,像JS CSS Vue等要多学习一下基础知识,看看红宝书之类的和一些博客,CSS也要了解一下多实际(浮动在生产工作中已经要进入博物馆了,开发要以flex为主了)。项目经历像学生其实没有几个能够拿得出手的项目的,所以面试官更关注你的基础是否牢固。日常开发的工具从API的角度来说要熟练。