前端一年的经验,面试官都会问一些什么问题呢?都是这样一些的问题

面试准备阶段
学习以及复习基础知识

这一定是第一步需要做的事情,先制定规划,然后按照这一条既定的规划去学习以及复习,可分为六部分去准备:
css部分
css这一部分,面试必问,但是它的东西很杂很多,我不知道有多少人和我感觉一样:学习前端最难的是css,而不是js

css这一部分,布局、实现一个什么样的形状、一些属性的使用等问的会多一些~
javascript部分
JavaScript 部分,数据类型到一些隐式转换这些基础知识,看代码说输出,v8底层执行机制、垃圾回收、闭包、作用域、作用域链,原型、原型链,手写代码,如:防抖、节流、 bindcallapply等,深拷贝、浅拷贝,Event QueueEvent LoopPromiseasyncawait等等等都是必须要会的知识点,但是我们在学习的过程中还是要灵活一些,去学习这些思想,而不是一味的去死记硬背~
webpack部分
这一部分是前端工程化的内容,还是有必要会的。浅一点说要会的就是一些基础配置以及优化配置,还有像 pluginloader的区别等,再深一点就是配置的原理、以及如何写一个 loader或者 plugin,然后应用这些东西实现什么样的需求
框架部分
前端的框架有很多,现在流行的两个就是 vuereact,我的技术栈是 react,所以我是以react去准备的面试,在react里面,经常问的比如:生命周期、关于生命周期为什么要废弃,什么是虚拟domdiff算法思想以及key的作用、有keykey有什么区别,如何解析 jsxhooks的应用等
http
关于服务这一块,面试也是会经常问,http状态码所代表的含义, httphttps的区别,http的三次握手以及四次挥手等
项目
面试离不开项目,所以对自己过往项目的理解尤为重要,上面的很多知识点其实也可以根据项目问很多

准备简历
我认为简历一定要在学习后再去准备,这样你在简历上写的东西才在自己的心里有数,才能保证简历上的东西自己都能会,其次是简历上要包含哪些内容,我自己而言:个人基本信息(如:手机号、邮箱、年龄、住址),可以把自己的 github链接贴上,如果有个人博客网站也可贴上~教育经历、工作经历、个人技能,并不建议写自我评价~如果有想看的,可以私聊我发你我的简历呀~~~
投递简历,随缘面试
这一阶段我经历了很多事,所以我越来越认为干啥事就随缘吧,有些事情就好像命中注定的一样,是你的就是你的,不是你的怎么也强求不来~~

上面说的是废话,可忽略

面试这个过程的确是看眼缘的,不过我们自身的发挥其实还是占着更大的比重的,所以如何在面试那么短的时间内表现出最好的自己尤为重要

hr面试以及谈薪
如果我们顺利的通过了技术面试,那么就会来到hr面,hr面试也没什么技巧,就是机灵一些我认为就好了,其实我只经历了一次hr面试,从校招到这次跳出,总共就经历了这么一次,这就是我所说的随缘吧:谈薪的技巧我就不说了,我实在不会,希望有大佬可以教教我(诚恳脸)~~~

背调
一些公司会有背调,背调过程首先背调公司会先发送背调邮件,让你授权,然后填写一些资料,背调公司会再次打电话向你确认,是否可以开始背调,你答应了,就开始了~这个过程不建议有造假行为,背调公司会通过各种问题判断提供信息的真实性,以及他们会在过程中要求打你没提供人的电话,我们只要不撒谎,和领导、hr都提前打好招呼,就不会有什么太大的问题的
面试题分享
我面试了一些个公司,按时间顺序排列:顺丰同城、头条、嘀嗒、蓝湖、快手、去哪儿、360、知乎…挑了一些我听过名字的公司进行投递简历,简历筛选这一块还是有很多没过的,受限于学历、工作经验只有一年~~~对于前端开发来说,蓝湖大家都听说过,对于这次面试整体下来,我对这家公司真的评价颇高,由于蓝湖的技术栈是vue,而我是react,技术栈不匹配对于这种规模的公司而言,可能给不了我太多的适应时间,所以把我当了备胎(面完第二天hr主动把面评发给我,直接告诉我备胎了),这种公司不多了,与其相反的是上面某个公司,面试过后hr直接把我微信删了
css部分
1、css中box-sizing的属性

2、一个元素居中的办法(不确定宽高的情况下如何用定位的办法实现)

3、两栏布局,左侧固定,右侧自适应

4、如何理解BFC

5、清除浮动overflow:hidden的原理,为什么可以清除

6、了解postcss吗

7、less和css的区别

8、看代码


hello

元素p内的文字最终什么颜色 复制代码

9、画一个三角形、扇形,将一个圆分为四部分,对角部分是相同颜色,相邻部分为不同颜色

JS部分
1、看代码说输出,会涉及到Event Queue、Event Loop,面向对象底层机制,闭包等

2、let、const区别

3、浅拷贝和深拷贝有什么区别,实现深拷贝

4、实现数组去重,new Set的数组去重和自己实现的哪个性能会更好

5、说出数组的方法,map和forEach有何区别

6、说一下跨域,jsonp的原理是什么?node中间件解决跨域问题的原理是什么?

7、Object.create实现了什么?传null得到的结果和普通对象有什么区别?

8、对prototype和__proto__的理解

9、call、apply和bind有何区别,手写实现call

10、替代es6中拓展运算符传参的方式

11、如何实现继承?class里面super是干嘛的

12、import和require的区别

13、对promise的考察,then链的应用

14、实现一个发布订阅,有订阅(on),发布(emit),一次订阅功能(once)

15、实现防抖节流,它们两个之间的区别是什么?

16、实现请求并发限制,具体为:封装一个函数,传递请求并发的个数为参数,实现对并发请求的限制

17、说说闭包以及垃圾回收机制

18、利用async和await如何处理异常事件

19、箭头函数和普通函数有什么区别?如果想改变箭头函数中绑定this怎么办?

20、原生js判断鼠标在一个有对角线矩形的位置

框架部分
1、react中key的作用,有key没key有什么区别,比较同一层级节点什么意思?

2、你对虚拟dom和diff算法的理解,实现render函数

3、父子组件之间传值的方式,组件间传值的方式

4、如何解析jsx

5、生命周期都有哪几种,分别是在什么阶段做哪些事情?为什么要废弃一些生命周期?

6、关于react的优化方法

7、绑定this的几种方式

8、对fiber的理解

9、setState是同步还是异步的

10、redux以及react-redux

11、对高阶组件的理解

webpack
1、你都用过哪些webpack的配置

2、在你的项目里面用过哪些优化

3、plugin和loader的区别

4、用过哪些loader、plugin

http部分
1、http与https的区别

2、http握手的次数以及过程

3、http的几个状态码,比如:304、200、500、502、504等

项目
1、项目里面最经典的一个问题(好几家公司都问了这个):在你的项目里面解决了什么样的难题

2、在你的项目里面如何做的登录

3、在你的项目里面,如何解决xss攻击

4、也有一些关于小程序项目的:

在小程序时候踩过哪些坑

小程序里面存在域的概念吗
最后
如果你现在也想学习前端开发技术,在学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以加入到我的Q群中:前114中6649后671,里面有许多前端学习资料以及2020大厂面试真题 点赞、评论、转发 即可免费获取,希望能够对你们有所帮助。

你可能感兴趣的:(前端基础,前端面试,前端项目)