前端面试手册


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转换的过程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容