快手日常前端实习4.23
面试
1、自我介绍
2、ES6新特性
3、const和let 和之前的var有什么区别
4、TS的泛型使用
5、any 和 unknown 的区别,怎么使用unknown将泛型赋值给一个 string 类型
6、JS 原型链,解释 new 一个 function 的时候,原型链是怎么指向的
7、JS的词法作用域是静态还是动态的?下面这道题的输出(大概是以下内容,详细内容不太清楚了)
var x = '1'
function test() {
console.log(this.x)
}
function example() {
this.x = '2'
fn = test()
cn = () => {
console.log(this.x)
}
}
// 大概内容是这些,具体这里记得不太清楚了
fn()
cn()
8、JS的异步编程有哪些,async、await的出现主要解决哪些问题
9、Promise.all 和 Promise.allSttlted的区别
10、手写 Promise.allSttled
11、https和http的区别
12、https一定是安全的吗?中间人攻击
13、强缓存和协商缓存,http和https的状态码区别
14、2xx、3xx、4xx、5xx 含义,301、302的区别
15、git 回退代码有哪些方法
16、在A分支上有一些变更,如果想要切换到B分支上进行操作(代码暂存)
17、RN 和 React 开发区别
18、RN的底层是怎么渲染的
19、前端是怎么渲染页面
20、SSR是为了解决什么问题
21、SSR能做什么,不能做什么(执行代码的时候哪些可以执行,哪些不可以执行),场景1:SSR生成的过程中,定义一个变量,可以对这个变量进行增删改查吗。场景2:SSR生成的过程中,DOM操作,可以获取DOM元素吗?
22、Vue3和React有什么差异
23、他们两个的数据更新,组件级别、应用级、元素级,React和Vue分别是哪一个级别和哪种更新机制
24、React 是应用级别的话,那它底层是做了什么操作让它是一种应用级的更新操作
25、场景:现在要做一个秒级的倒计时,要用setTimeout来做,它会有什么风险点(比如倒计时的一秒一定是精确的一秒吗)。setTimeout的执行机制是什么?
26、项目介绍、项目负责部分、项目难点
27、SessionStorage和locaStorage的区别
28、三数之和
// 输入:[2,3,4,6] 9 输出:[2,3,4]
29、数组打平
// 输入:[[1,2,3],1,[6]] 输出:[1,2,3,1,6]
反问:
1、技术栈:React居多,项目比较庞大,无码搭建的平台
2、业务:无码搭建,广告主在编辑器中通过拖拽来生成页面,用户就可以在这个页面填写一些信息,或者了解广告主宣传的一些东西。
#前端##面经#