欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

分享:你所需要知道的前端面试题和答案

程序员文章站 2022-05-10 23:14:50
http的请求方法有哪些? head,get,post,put,delete,option,traceback,connection Http和Https的区别? http的...

http的请求方法有哪些?

head,get,post,put,delete,option,traceback,connection

Http和Https的区别?

http的默认端口是80,而https的默认端口是443。

http传输的数据是明文的,而https传输的数据是加密的,https会建立信息安全通道,并且会对服务器做验证。在主流搜索引擎中,他们更倾向于抓取https的页面,也就是说https利于seo

http在建立连接时需要三次握手,断开连接时需要四次挥手。/https也是三次握手和四次挥手/

https需要ca证书认证,其中的s其实指的是ssl。

JS实现继承的几种方式?

原型链继承 构造继承 实例继承 拷贝继承 组合继承 寄生组合继承

详见这位大神的博客,传送门

什么是JS的严格模式?

设立严格模式的目的主要是在一个更加规范的JS环境中,正确的编码运行,为未来的编码做准备。使用严格模式的方法是“‘use strict’”,作用域为当前块级作用域。如果在首行,则是整个文件都将使用严格模式。如果在函数开头,则整个函数作用域为严格模式。相关博客传送门。

什么是Sass和Less?

Sass是基于Ruby的,是在服务器端处理的。而less是基于JavaScript的,是在客户端处理的。sass和less都是css预处理器,也就是说,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件。

你所知道的浏览器内核?

IE浏览器的内核是trident,FireFox的内核是Gecko,Opera的内核是presto,后来变成了WebKit ,Chrome的内核是blink。

NodeJs的优点是什么?

NodeJs适用于高并发的场景,异步非IO阻塞,不适用于密集计算。传送门

如何进行SEO优化?

尽量使用https协议,尽量将页面静态化,页面title尽量简短,meta标签中的keyword不要太宽泛。页面深度不超过三层,减少页面加载时间。使用Robot.txt,等等。

src和href的区别?

src通常指的是外部资源连接,而href表示的是网络资源,也可建立链接。通常情况下,当页面加载到src连接的资源时,会被阻塞,直到被页面加载进来,这也就是为什么外部script应该放在页面底部而不是head中。

JS中的垃圾回收机制

常见的垃圾回收机制有两种:引用计数和标记清除。Js一般采用的是后者。所谓引用计数是指跟踪记录每个值被引用的次数。当声明了一个变量并将一个引用类型赋值给该变量时,则这个值的引用次数就是1。相反,如果包含对这个值引用的变量又取得了另外一个值,则这个值的引用次数就减1。当这个引用次数变成0时,则说明没有办法再访问这个值(也就是原来的那个引用类型)了。

标记清除是指当对象进入运行环境的时候,为其增加标记。运行结束或者移出运行环境的时候删除标记。最后,垃圾收集器完成内存清除工作。

关于跨域的解决办法?

使用jsonp,缺点是只能使用get请求,并且不能够知道是否请求失败 服务器允许访问,cors跨域资源共享 document.domain 允许跨子域 window.name window.postMessage,html5的新方法

你有没有见过这样的闭包?试试看下面这道题?

var add = function(x){  
    var sum = 1;  
    var tmp = function(x){  
        sum = sum + x;  
    return tmp;  
    }  
    tmp.toString = function(){  
        return sum;  
    }  
    return tmp;  
}

add(10)(2)(3)//输出什么?

结果是6,参考链接

position中的可能取值?

relative,absolute,static,fixed,sticky,initial,inherit,unset….

没想到吧,竟然有八个…

JS异步编程有几种方式?

回调函数 事件监听 发布/订阅 Promise对象

前端性能优化的注意点是什么?

页面加载时:减少http请求(懒加载方式,异步加载),减少css、js的大小,使用CDN加速 页面加载中:将script外部资源放于页面底部,css放于页面顶部。减少重绘和回流。尽量使用css而不是图片。 JS执行时:尽量减少dom操作

rem、em的区别?

rem是相对于根节点或者说是浏览器字体的默认大小而言的。通常情况下1rem = 16px。而em是相对父元素的字体大小,或者最近父元素的字体大小。

了解过ES6和React吗?

加分项

有过移动端开发经验吗?

加分项,基本上是html5的新特性的使用。