美文网首页
前端面试手册

前端面试手册

作者: 庙爷 | 来源:发表于2018-01-25 18:24 被阅读0次

    HTML

    doctype 是什么

    document type 文档类型定义(DTD),告诉浏览器以何种协议来解析,声明可以切换标准模式或兼容模式

    meta viewport

    针对移动端的控制大小缩放等

    怎么样做多语言页面

    来源用语言判断通过 ip 段 记录 cookie

    使用框架有相对应的库,可进行静态或动态的文案翻译

    构建工具如 webpack 的思路一般是维护 map 映射表,只能解决静态文案

    通常解决是 构建工具 + 通用翻译函数

    data- 属性是干什么的

    自定义数据属性,可以用 dataset 访问

    cookie, sessionStorage ,localStorage 的区别

    cookie 只能存 4kb 一般是由服务器创建的,他会被附加到每个 http 请求阿忠

    sessionStorage 会话级别 5mb

    localStorage 5mb

    <script>, <script async>, <script defer> 的区别

    script 渲染到这个标签就会立刻加载并执行并会阻塞解析完成后继续解析

    async 加载脚本和解析文档同时进行,加载完成执行脚本并会阻塞解析,完成后继续解析

    defer 所有元素解析完成才会执行脚本

    什么是渐进渲染

    为什么建议 linkheadscriptbody,你有什么例外吗

    浏览器渲染机制


    Css

    css 选择器都有哪些

    类选择器,id 选择器,标签选择器,通配符选择器,属性选择器,后代选择器,同级选择器,派生选择器,多元素选择器,伪元素选择器

    reset 你都重置哪些样式,为什么

    margin, padding, font-size 每个浏览器默认的间距不一样

    html5 的标签重置成 block

    body 的 line-height 默认是 normal 大概 1.2 左右,重置成 1

    a 的下划线

    table border间距

    ul list-type

    BFC 是什么

    Block Formatting Context

    块状格式化上下文,属于普通流

    创建条件: float 不为 none,postion 不为 static, overflow 不为 visible, flex, grid, inline-block, table-cell

    css 常用布局

    css 盒模型 和 怪异盒模型

    标准: width = content
    怪异 width = border + padding + content

    标准模仿怪异

    box-sizing: border-box

    flex, grid

    设置 flex 时,float,clear, vertical-align 会失效
    flex 有主轴和交叉轴

    px/em/rem

    px 本身
    em 相对父级
    rem 相对根

    css 预处理器

    清除浮动

    .clearfix::after {
        content: "";
        display: block;
        clear: both;
    }
    

    JavaScript

    js数据类型有哪些,怎么判断其类型

    String、Number、Boolean、Symbol、Undefined、Null

    typeof, instanceof, constructor, Object.prototype.toSting.call()

    解释事件委托

    把一个元素响应事件(click、keydown......)的函数委托到另一个元素;
    通过事件冒泡机制从而触发它的外层元素的绑定事件上,然后在外层元素上去执行函数

    解释 this 在 javascript 中

    this指的是,调用函数的那个对象

    解释原型链继承

    每个函数有一个 _proto_ 会一直向上找,直到找到原型链顶端的 null

    AMD 和 CommonJS

    CommonJS 有 module, export, require
    AMD 有 依赖

    解释为什么以下不能作为IIFE:function foo(){}(); 需要改变什么才能使其成为一个IIFE?

    括号包起的匿名函数

    const foo = (function(){ })();
    

    解释什么是闭包 ,怎么使用

    闭包是在函数外部能取到函数内部的作用域的函数

    function a () {
        const b = 1;
        return function() {
          return b  
      }
    }
    const c = a()
    c()
    
    

    你能描述一下 forEachmap 的区别吗

    遍历,map

    匿名函数的典型用例是什么

    items.forEach((item) => {})
    

    你怎么组织你的代码?(模块化, 经典继承)

    宿主对象和原生对象

    有一个函数 function Person () {};var person = Person()var person = new Person() 有什么区别

    callapply 的区别

    传参不一样,apply传数组

    解释一下 Function.prototype.bind

    什么场景下用 document.write()

    功能检测,功能推断和使用UA字符串有什么区别?

    Ajax 的实现, 越详细越好

    使用Ajax有什么优点和缺点?

    JSONP 原理, (以及他为什么不是 Ajax)

    用过 js 模板吗,都用过什么库

    解释一下作用域提升

    解释一下事件冒泡

    解释一下 attribute 和 property

    为什么扩展内置 JavaScript 对象不是一个好主意

    load 事件和 DOMContentLoaded 事件之间的区别?

    加载资源和解析成功

    ===== 的区别

    强制转换和非强制转换

    解释与JavaScript有关的同源策略

    实现 duplicate([1,2,3,4,5]); // [1,2,3,4,5,1,2,3,4,5]

    三元表达式是什么

    statement ? execute : execute

    "use strict" 是什么, 使用它有什么优缺点?

    写一个 0 到 100 的迭代器,当是 3 的倍数时 输出 'fizz' , 5 的 倍数 输出 'fuzz', 既能被 3 也能被 5 整除 出书 'fizzbuzz'

    为什么最好不要动全局环境

    你为什么用 load 事件,这个事件有没有缺点,你还知道可以替代的方法吗,如果有为什么要用这个

    解释一下单页面应用,怎样做 SEO

    怎样实现一个 Promise

    Promise 比起 callback 有什么优缺点

    解释可变对象和不可变对象的区别

    解释同步和异步函数之间的区别

    事件循环是什么, 它与 调用堆栈 和 任务队列 有什么区别

    function foo() {}var foo = function() {} 有什么区别

    let, var const 有什么区别

    ES6 的 Class 和 ES5 的 构造函数 有什么区别

    es5如何实现super关键字

    JavaScript的节流和防抖

    function debonce(fn, delay) {
    return function (args){
      setTimeout(function (){
    fn.apply(args)
    }, delay)
    }
    
    }
    
    function thorrtle (fn){
    
    }
    

    event loop,microtask,task queue

    macro-task == task
    mirco-task == JOB

    generator

    function  * a (i) {
      yield i;
      yield i + 10;
    }
    const b = a(1);
    console.log(b.next().value);
    console.log(b.next().value);
    

    React

    生命周期

    setState是异步的还是同步的

    子组件和父组件componentDidMount哪一个先执行

    redux的一般流程

    a组件在b组件内,c组件在a组件内,如何让他渲染出来,a组件和c组件同级

    react组件的优化

    react组件的通信

    react 的virtual dom和diff算法的实现方式

    MVC、MVVM了解么,数据双向绑定和单向绑定实现方式

    react-router实现方式,单页面应用相关东西

    react的ssr了解么?大概怎么实现

    Vue

    vue的底层原理?

    vue组件之间的通信?

    浏览器

    http三次握手后拿到HTML,浏览器怎么加载

    浏览器怎么优化的动画

    前端优化一般都做哪些

    浏览器缓存

    http常见状态码

    http2.0相关

    post、get区别

    构建工具

    编写过webpack的扩展嘛,Plugin或者loader

    babel转换的过程

    相关文章

      网友评论

          本文标题:前端面试手册

          本文链接:https://www.haomeiwen.com/subject/dofbaxtx.html