回馈牛客,面过的一些前端问题的汇总
1、数据机构呢,前端来说不是特别的严格,但是至少快排、冒泡排序你得会把,不过在面试的过程中也被问到了二分查找,链表的一些基础问题。
2、计网呢,osi七层模型被问的很多次,你要熟知每层模型的大概功能,而且像传输层的UDP和TCP的区别、应用层的协议也被问的很多,尤其是http协议,1和1.1和2的区别,http的一些方法你都需要很清楚。
从http协议你可以讲很多东西,可以延伸很多,比如http协议是无状态的,浏览器为了解决这个问题,所以设置了cookie和webstorage浏览器缓存,cookie和webstorage的区别,和服务器缓存session的区别又够你讲半天的了,
最近问的比较多的一种缓存机制,可以提高性能优化的,***-control的请求头是必须要熟知的,里面的知识点也很多,重要的max-age等好好看看,http请求头、响应头的一些知识必须熟知,比如响应吗,1,2,3,4,5啊,
其中很重要的其实就是304,通过请求头的if-moderfined-since判断缓存然后实现不需要重新加载显示界面,其本质其实不是一种错误,而是一种性能提高的机制,!!!重重之中这部分!
3、然后css,css呢display、position都需要会的,我说的会并不是你常用过的会,因为大多数人常用的都会,面试官想听到的就是大家不常用的,display的flex、table、list啊,position的sticky啊。但是大家都会的你也要会啊,毕竟基础要扎实,
水平居中一般没什么好说的margin:auto就好,垂直居中被问的很多,你至少说出五种来吧,flex弹性布局的方式你必须知道,块元素和行元素的区别啊,还有被问过很多次的,让你做一个正方形啊,三角形啊,通过css3可以进行***作的,我一般
都是通过border,还有平移旋转两种方法说的,自我发挥吧,css其实蛮基础的,面试官一般不会过分去问,毕竟js还是很重要的
4、然后js,js那就是重头戏了,玩好js走遍阿里腾讯都不怕,原型链、作用域链那是重头戏了,不要以为你理解了说一说就ok了,这可是要会做题的!原型链重要的还是继承,怎么说你也得说出三种方法来吧,作用域链呢问的很多的就是变量声明提前,
而且我曾经被问过什么呢,被问过同名的函数名、参数、变量的优先级,函数表达式和函数声明的区别,这些你必须掌握,然后就是闭包了,闭包是什么啊,什么时候用闭包啊,闭包的特点是啥啊,缺点是啥,怎么解决缺点啊,可需要好好看看了,而且
要会做闭包的题,一般都是跟this的指向有关,而且通过闭包你可以谈谈浏览器的垃圾回收机制,数组和字符串的很多方法你都要熟知会用的,比如数组除了一些常用的slice、splice、concat、join、pop以外,像reduce、some、every也要非常熟知。像
jquery的ajax问的次数很多,ajax不仅要会用而且要非常熟悉!Es6的promise和generater啊,var、let、const的区别,而且const对对象是个例外啊,symbol类型啊这些都要清楚,也说这么多吧。
5,、其他的一些技术栈了,比如mvvm框架。vue啊,双向绑定,生命周期,路由等都必须要知道原理,这些东西看是要看面的公司大小了,多面面就会有经验。
比如node的优点啊,为什么可以处理高并发,express框架啊被问的很多,甚至有时候会让你写组件!毕竟现在全球组件化了,为了工程化发展,组件化。模块化。模块化我曾经被问过require和import的区别,commones.js的规范啥的所以会用还是很重要的!
webpack这种打包工具你必须用过的,3和4的区别,基本会问的,先说这么多吧
6、一般怎么学习前端啊,我一般的回答都是先看书,看过哪些书,红的绿的说就完了,看菜鸟、w3、csdn、blibli、中文文档、问人,把能收集到知识的来源全说一遍,毕竟学习能力很重要,最近在学习什么啊,我会说学习pwa,然后问我pwa实现了哪几个功能,
说一遍,这时候就是吹牛逼的时候了,好好总结下发言,有时候可以逆袭的
7、重点来了,项目。你得有一个拿得出手的项目,会让你介绍一下项目,你负责什么了啊,怎么做的啊,遇到什么问题了啊,你怎么解决的啊,做完之后项目上线了吗啊,而且会从你的项目里面加一些情景题,不要怕,说你的思路就好了,好好想一想,想完思路在想具体
实现方法,一般这时候即使你没回答上来,面试官也会慢慢的引导你,所以大胆的说就好了。项目这块还需要个人花一定的时间整理的,毕竟决定了你的加分项或者扣分项!
我事先也没有想好写的顺序,也就想到就写了,所以有些地方可能说的有些乱就担待点吧,没写的很全,有问题留言,愿意在仔细讲解,谢谢牛客了,大家要知道,越努力越幸运!