前端面试整理

总结一下最近几次面试遇到的一些问题,与大家一起学习。

一般面试官会让你做自我介绍,你可以捡自己拿手的项目说。

1、浏览器渲染原理,还有输入IP到页面展示的过程,期间有被问到过(TCP/IP三次握手都做了什么,http1.0,http1.1,http2.0的区别)

2、重排与重绘分别是什么,什么情况下会发生重排,什么情况下发生重绘,由此写css有哪些可以优化的点

3、写一个吸顶的效果,具体实现的方法有哪些种

4、元素的垂直居中的方法,具体实现,有哪些种方法

5、positon的属性,fixed的兼容,具体没个属性的意义

6、关于字符串的操作,字符串的截取

6、字符串去重,因为一般是把字符串转变成数组处理的,这里姑且说是数组去重的方法,(一般的套路是,一种是原生实现,一种是array自带属性实现)一种是es6或者最新的版本实现 (array和object是大头基本都会问) 排序同上也问的多

7、array.map和array.forEach的区别 这类也比较多

8、array.splice

9、怎么去区别array 和 object ,还有比如如何检测一个变量是String类型 (比较typeof与instanceof这两个感觉问题还蛮多的)

11、object的创建方法

12、原型、作用域、闭包

prototype、constructor、__proto__的关系,

讲作用域的时候一般也会说到const、let的差异,之前有问到过一个这个问题觉得很有意思在此记下(const a=5,a.b='c'会报错吗,a=9呢,那如果是let呢)

13、js如何实现继承(其中用apply和call也可以实现继承)

14、是否用过es6的方法,一般你说有那么就会问你用了哪些,然后根据你用到的问你。这里列举几个常被问到的问题。

a、箭头函数和普通函数的区别(书写方式,对this的词法解析)

b、promise的三种状态。常用的方法。原理实现

c、yield(这个问的不是很多)

 

15、是否有用过前端框架,如果有用到一般也会延伸出来问,套路是 生命周期,数据是如何更新的,这种更新是同步还是异步,基本原理是什么?如果有用过两种框架一般会要求比较两种框架的差异

 

16、前后端分离的项目构建,是如何搭建,如何发布,如何提高本地构建的效率,如何配置方便本地的调试。做过哪些优化

 

17、如何解决跨域问题。(分两个方面来回答,本地开发和环境发布分别是如何解决跨域问题)一般如果回答还可以会继续问出现浏览器跨域的原因是什么

 

18、如果有做过hybrid app 一般会问 如何实现跟native的交互,有哪些方案。webviewJavascriptBridge的原理。(有被问到IOS 和Android分别是用什么方法拦截的)

 

19、前端优化的方案

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值