前端三项

一html

1.1 盒模型 -> 标准盒、IE盒 -> 如何解决IE问题 -> DTD是什么 -> Html4中标准模式、兼容模式

1.2 布局( 相对、绝对、固定布局) -> flex,响应式框架(bootstrap等)

1.3 float -> 清除浮动 -> BFC、IFC

1.5 语义化 -> H5元素(canvas、video、localstorage、sessionstorage)

1.6 浏览器的加载顺序 ->(Dom tree,CSSOM, RenderTree,layout,painting) ->  首屏时间、白屏时间 ->如何用chrome的performance做性能优化

1.7 前端优化 -> yahoo 35 条军规

二  JavaScript

2.1 JS内存模型 -> 值传递、引用传递 -> typeof

2.2 null、undefined  -> == && === (严格模式、隐式转化)

2.3 对象 -> 为何需要对象、产生对象的几种方式 -> new运算符-> 构造函数、this -> 原型、原型链 ->继承的五种方法 -> 源码、组件应用(underscore源码、做过组件没)

2.4 匿名函数和闭包 -> 闭包是用来做什么的 ->jQuery源码-> 循环中的闭包 -> 异步调用中的闭包 ->ES6有什么新的解决方案 -> let的实现原理JavaScript匿名函数以及在循环中的匿名函数 - 大杂烩 - SegmentFault

2.5 事件的冒泡机制 -> IE的冒泡机制区别

2.6 ajax-> 手写原生ajax -> Http协议 ->  tcp/ip的网络模型、三次握手、状态码 -> 请说出HTTP访问的25个步骤(变态指数满星)当你在浏览器中输入 baidu.com 并且按下回车后发生了什么?

2.7 跨域 Jsonp

2.8 cookie、session、nodejs session 原理及实战

三 Nodejs

3.1 Nodejs是什么? -> 规范CMD, AMD ->模块(import,export、file)Javascript的模块管理 CMD AMD ES7等

3.2 单进程 -> 何为进程、线程、区别 -> 为何js是单进程 -> eventloop->回掉-> 回掉地狱 -> promise ->手写promise实现 -> generator ->手写generator实现 ->aysnc -> 手写 async源码

3.3 测试-> 黑盒, 白盒 ->mocha

3.4 打包工具 -> webpack等

3.4 上线 -> linux,shell -> pm2

四 算法

4.1 二叉树 -> 树的各种操作:深度、广度、翻转 -> B+树、红黑树等 -> 数据库索引

4.2 排序 -> 冒泡、快速、归并排序、堆排序-> 冒泡排序的优化、快速排序的四层优化

4.3 搜索 -> 二分搜索

4.4 动态规划 -> 背包问题、最长非递增字符串、台阶问题

4.5 递归 -> N!、斐波那契级数、树的各种遍历


变量生命周期

全局变量和你的应用程序,你的window,你的webpage同生,局部变量短命,当函数调用时被造就,当调用结束被删除。

This关键字

在js中,被称作this的东西,是一个“拥有”js代码的对象。this的值,当用在一个函数里,是一个”拥有“函数的对象;当用在一个对象里,是对象本身。this关键字,在一个对象构造器里边没本身有值,仅仅是新对象的替代品。当构造器被用于构造对象时this的值会变成新对象。

注意:this不是一个变量,它是关键字,你不能改变this值。


js中的面向对象

面向对象在js里有两个层次的含义,第一种是会使用面向对象函数;第二种是构造面向对象函数。

js也是面向对象中的一种写法,不过相对于java,js是一种弱数据类型,并不是严格意义上的面向对象。但是jq就是使用面向对象的写法创作出来的js库。

1. 抽象:抓住核心问题 

2. 封装:即把能够实现功能的函数写成封装起来,在面向对象里叫做方法。简单来说就是把实现功能的函数写成方法。 

3. 继承:继承的意思是,在实现同一种功能的前提下,新对象可以使用旧对象的属性和方法。 

4. 多态:一个变量在引用不同类型的情况下的不同状态。多态开发在开发组件和模块化开发的时候能节省很多资源。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容