第二次面试总结

今天面的这一家刚进去就让作面试题,对于两三个月没有好好敲代码和复习的我来讲:懵css

不过此次面试仍是在面试官身上学到了不少的东西,颇有意义。前端

下面是面试全部的面试题:vue

1. console.log(0.1+0.2)的输出:

0.30000000000000004web

这道面试题去年就遇到了,主要是由于JavaScript中的二进制的浮点数0.1和0.2并非十分精确,因此他们相加的结果并不是正好等于0.3,而是一个比较接近与0.3的数字。

2. 写出对JavaScript原型链的理解?

3. 写出对JavaScript闭包的理解?

4. jQuery和vue或者是ng的大致区别,哪一种更好?

都是曾经或者如今比较火的前端框架,不能说哪一种更好,只是每种都有本身适用的场景和项目类型。如下是个人回答:

jQuery主要是节点操做函数,比较轻量级,适用于小型项目。
angular是标准的MVVM模型,总体框架开发的比较完善,也有较多的成熟的UI库使用,变量操做数据特别方便,
可是总体比较笨重,适用于大型企业项目。(最喜欢)
vue是比较轻量级的开发特别完善的前端框架,主打轻量级,也是用节点操做函数,不算是很标准的MVVM模型,
适用于中小型项目。(学习不是很精通)复制代码

5. 如何提高一个网页的滚动性能?

给 <body> 标签添加上 pointer-events: none 样式复制代码

6. 为何JavaScript被设计成一门单线程语言?

js做为浏览器的脚本语言,主要是实现用户与浏览器的交互,以及操做dom;这决定了它只能是单线程,不然会带
来很复杂的同步问题。
举个例子:若是js被设计成了多线程,若是有一个线程要修改一个dom元素,另外一个线程要删除这个dom元素,此
时浏览器救会一脸茫然,不知所措。因此为了不复杂性,从一诞生,js就是单线程的,而且不会改变。复制代码

 7. 对WEB标准以及W3C的理解与认识?

web标准简单来讲能够分为结构、表现和行为。其中 结构 主要是由HTML标签组成,或通俗点讲,在页面的
body里面咱们写入的标签都是为了页面结构。 表现 即css样式表,经过css可使页面标签更具美感。 
行为 是指页面和用户具备必定的交互,同时页面结构或者表现发生变化,主要由js组成。(WEB标准通常
将三部分独立分开。使其具备模块化)

W3C对web标准提出了规范化要求,也就是在实际编程中的一些代码规范:包含以下几点
1. 对于结构(HTML)要求:(标签规范能够提升搜索引擎对页面的抓取效率,对SEO颇有帮助)
    a. 标签字母要小写
    b. 标签要闭合
    c. 标签不容许随意嵌套
2. 对于表现(css)和行为(js)要求:
    a. 尽可能使用外链css样式表和js脚本。是结构、表现和行为分为三块,符合规范。同时提升页面渲染速度,
提升用户的体验。
    b. 样式尽可能少用行间样式表,使结构与表现分离,标签的id和class等属性命名要作到见文知义,
标签越少,加载越快,用户体验提升,代码维护简单,便于改版。
    c. 不须要变更页面内容,即可提供打印版本而不须要复制内容,提升网站易用性。复制代码

8. 行内元素有哪些?块级元素有哪些?CSS的盒子模型?

块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input selectCss
盒模型:内容,border ,margin,padding复制代码

9. 编写一个数组去重的方法?

方法一:
function uniques(arr) {
    if(arr instanceof Array) {
        return Array.from(new Set(arr));
    } else {
        console.error('wrong type');
    }
}
方法二:
function unique(arr) {
    if (arr instanceof Array) {
        const res = new Map();
        return arr.filter( a => !res.has(a) && res.set(a, 1))
    } else {
        console.error('wrong type');
     }
}复制代码

10. “==”与“===”的不一样?面试

首先,“==” equality 等同, “===” identity 恒等。
“==”,两边值类型不一样的时候,要先进行类型转换,再比较。
“===”,不作类型转换,类型不一样必定不相等。
一言蔽之: ==先转换类型再作比较, ===先作类型判断,若是不是同一类型则直接为false复制代码
相关文章
相关标签/搜索