当前位置: 首页 > 面试经验 >

cvte前端一面 凉经(2022年秋招)

优质
小牛编辑
88浏览
2023-08-10

cvte前端一面 凉经(2022年秋招)

面试官:

1.前端基础(html+css)

2.网络基础

3.问一些项目经验相关的

4.笔试题

面试开始:

你是怎么学习前端的? 卡卡巴巴,让面试官觉逻辑不清晰,沟通能力不强

一、网络部分

1.cookie的相关字段

提到httponly是跨站脚本攻击吗? 面试官:你知道什么就说什么不确定就说不知道

2.csrf又是什么?为什么cookie的httponly字段是防止跨站脚本攻击?

3.cookie没有设置过期时间呢?他是什么时候过期?

4.cookie的跨域传递 (不清楚)

要求:我希望a站点的数据带到b站点. a.com的cookie带到b.com。跨域之间的cookie如何共享?

这个需要前后端操作,前端需要做什么?后端需要做什么?

5.假设现在有2个站点,一个站点为 baidu.com。另外一个子站点 a.baidu.com。

把cookie放在baidu.com里面,子站点能否拿到主站点baidu.com的内容? (不清楚)

我的回答:把cookie放在同一个域(document.domain),就不是不同域的问题了

6.主域和子域算不算跨域?(不清楚)

回答:最后回答不算

面试官:不要去猜,凭你的经验

7.解决跨域的方式?先说前端,再说后端的

①cors 回答不好卡卡巴巴 简单请求有什么缺点?(不清楚)

回答:这个错误无法通过状态码识别,因为返回的状态码可能是200。

提问:简单请求有响应吗?有响应我为什么不知道他报错呢有响应的话,我就知道他的状态码就可以查到报错?

②jsonp为什么会执行callback?回调这个过程清楚吗

回答:浏览器解析callback,所以会执行(×)

提问:项目中有没有去接收过callback?

前后端的callback其实有约定一致性的前端要写有方法去执行访问这个callback

③nodejs实现跨域

提问:说一下中间键的概念

我的回答:相当于一个封装好的方法,然后进行复用(面试官说中间件其实相当于一个快递中转站,把你需要的东西返回给你就好)

提问:如果让你实现一个中间件呢? 实现一个跨域的子组件 你会怎么做?有无思路 (实现接口的转发的中间件)

回答:用到node的express,proxy代理模块(面试官说不是他想要的答案)

③-①说一下正向代理和反向代理?

二、前端部分

8.说一下eventloop?

提问:同步代码就是所有的宏任务吗?(我这里回答的不是,语气有点不确定)

提问:如果微任务里面又产生继续产生宏任务呢?

提问:宏任务和微任务主要解决的问题是什么?

回答:解决异步操作(×,不完整)

提问:假设现在我有一个for循环发了1000次请求,浏览器直接卡死,希望用宏任务微任务去解决,不要让请求一次性并发出去,借助eventloop

怎么去优化?

回答:用settimeout每隔一段时间就往外发请求 (面试官:大量请求发出去,浏览器有个并发限制,超过限制直接导致后面的请求卡死掉,用settime解决不了)

面试官:那我现在让你实现一个异步任务队列,把他作为一个笔试题(没答出来常见的)

异步任务队列支持的能力:

①.最大并发请求限制,

②.超出任务限制的请求,进入队列

③.请求完成,等待期的请求继续,依此类推

面试官:假设浏览器最大并发请求10个,在继续发的时候,把这请求存到队列中,队列里面有一个任务完成了队列 就+1个,直到队列任务执行完毕,清空队列

 类似资料: