目录

试题集锦

HTML

CSS

JAVASCRIPT

DOM-BOM

  • [x] dom和bom
  • [x] 事件委托哪些事件不冒泡
  • [x] 原生Ajax流程
  • [ ] addeventlistener 第三个参数的作用
  • [ ] ajax优点和缺点
  • [ ] cookie和session的区别以及优缺点
  • [ ] cookie怎么跟服务器通信的
  • [ ] 前端路由原理 及如何监听url变化
  • [ ] 事件模型

Node

  • [ ] express静态资源中间件
  • [ ] node 的 eventEmitter
  • [ ] nodejs如何进行进程通信
  • [ ] js事件队列和node队列说下原理 区别是什么
  • [ ] node的单线程异步是怎么实现的

jQuery

  • [ ] jQuery 除操作 dom 还能做什么
  • [ ] jQuery 对于不冒泡的事件怎么处理
  • [ ] jQuery 的优缺点

Vue

  • [x] vue 实现 computed
  • [ ] vue 实现 双向绑定
  • [x] vue 组件通信问题
  • [ ] vue-router 两种模式的原理
  • [ ] element 源码是如何跨组件通信的
  • [ ] 组件中/ vuex 中对数据操作的区别
  • [ ] vuex的数据是存储在哪里的

React

Angular

  • [ ] angular 核心

  • [ ] 实现 angular 数据绑定

  • [ ] angular1 和 angular2 的区别

  • [ ] angular1 的父子通信

  • [ ] angular1 脏检查

  • [ ] AOT 预编译和 JIT 预编译

  • [ ] vue 和 原生 / react / angular 的区别

  • [ ] vuex 和 redux 异同

性能优化

计算机网络

算法

  • [x] 无向图的深度优先搜索和广度优先搜索
  • [x] 非递归遍历二叉树
  • [x] 二叉树的中序遍历
  • [ ] 10w的数据量用什么排序算法
  • [ ] 写10个排序 列出时间复杂度 和 使用场景
  • [ ] 怎么找出连续子数组的最大和(如果和为负数,则重新开始,如果和为正数,则继续加,然后比较大小,选出最大和即可。)
  • [ ] 手写快排还有二叉树遍历 快排实现原理
  • [ ] 存在一无序整形数组,找出其中连续出现的数字区间(var list = [7,2,11,2,0,1,2,4,5,10,13,14,15]; 输出:["0->2","4->5","7","10->11","13->15"])
  • [ ] 存在一无序且不重复的数组 data ,取出 n 个数,使其相加和为 sum 。给出算法的时间/空间复杂度(function getResult (data, n, sum) {})
  • [ ] 了解哪些排序算法
  • [ ] 怎么均匀的取到圆中的随机点(极限)

正则表达式

  • [x] 邮箱正则
  • [ ] 将 ejs 风格的分隔符<%= %>变为 mustache 风格的

Coding

  • [ ] css: 一个div,设置其父级div宽度为100px,再设其padding-top为20%。问div高度
  • [ ] css: 实现硬币旋转效果,即圆形绕自身轴线360持续旋转
  • [ ] css: 知道几种0.5px的实现
  • [x] js: 如何将string转换成html ((s,d)=>(d.innerHTML=s,d.childNodes))('<input>', document.createElement('div'))
  • [x] js: 最简单的生成 [0, 1, 2, ...range] 数组的方法 [...Array(range).keys()]
  • [x] js: 实现 map 函数
  • [x] js: 数组去重
  • [ ] js: 实现remove函数,删除object的属性
  • [ ] js: 函数式编程中compose的实现 (https://segmentfault.com/a/1190000008394749) (实现一个compose(arr)({index:0}}) var arr=[fn1,fn2,fn3]; function fn1(index,next){a.index++;next()}... 返回value和next,next()表示调用下一个函数)
  • [ ] js: 实现 js 对象深度克隆函数
  • [ ] js: 实现拖拽
  • [ ] js: 手写实现 bind
  • [ ] js: 深拷贝浅拷贝
  • [ ] 用 net 实现 HTTP
  • [ ] 手写 socket 报文
  • [ ] 防抖/节流分别是什么,应用场景是什么,有什么区别
  • [ ] 如何优化递归?尾递归。手写尾递归。
  • [ ] 不用defineproperty 怎么实现双向绑定

浏览器

  • [x] 跨域
  • [ ] 浏览器线程,js的异步是怎么实现的
  • [ ] chrome的审查元素怎么实现的
  • [ ] 浏览器缓存原理
  • [ ] event loop的机制
  • [ ] 渲染树、重排重绘、分层渲染等(进阶)

移动端

  • [x] 解决移动端点击300ms的延迟
  • [ ] 移动Web开发和PC Web开发的区别
  • [ ] 响应式布局
  • [ ] 移动端的手势和事件
  • [ ] 怎么提高移动页面的渲染性能
  • [ ] 移动端适配
  • [ ] 设计按照苹果的尺寸给图,如果适配各种安卓尺寸,图片不能拉伸压缩

数据结构

  • [ ] 怎么检验链表是闭合的

前端工具

  • [ ] webpack的优势
  • [ ] webpack、gulp、rollup做比较
  • [ ] wepack常用配置
  • [ ] babel配置
  • [ ] es6转es5工具有哪些
  • [ ] 登陆时的用户校验
  • [ ] 热更新的实现原理

调试

HTTP

  • [x] 常见 HTTP 状态码
  • [ ] 不同请求类型的区别
  • [ ] 如何缓存
  • [ ] HTTP2
  • [ ] 常用http头部
  • [ ] http1.1 缺点

老生常谈

  • [ ] 遇到什么困难、怎么解决、未来怎么避免
  • [ ] 技术选型、怎么看待框架、jq和框架各解决什么问题
  • [ ] 介绍下v8的新特性
  • [ ] js底层的实现

综合知识考察

  • [ ] 用户从输入url到最终页面展示,这个过程中发生了什么
  • [ ] 老板反馈页面打开白屏,而你手机上是正常的,怎么办
  • [ ] 我页面上有个动画一卡一卡的性能不行,怎么优化
  • [ ] 项目中存在哪些问题,如何解决的
  • [ ] 如何防止项目开发时间delay
  • [ ] 为什么要做单元测试、集成测试
  • [ ] 线上项目如何快速低定位是哪一行的错误

前端延伸知识点

  • [ ] 性能优化
  • [ ] NodeJs
  • [ ] 构建
  • [ ] 热门框架
  • [ ] Web安全
  • [ ] 图形动画
  • [ ] Web游戏
  • [ ] RN

安全

  • [ ] 以场景的形式描述xss xsrf sql注入,以及如何防范

设计模式

  • [ ] 举例说明常用的设计模式

未分类

  • [x] c语言怎么实现字符串转整型
  • [ ] ssr原理
  • [ ] 为什么有些数据是可迭代数据?除了实现了iterator接口 还有什么别的原因嘛
  • [ ] 怎么按顺序执行异步
  • [ ] 如何在不红杏的情况下 优化外国官网
  • [ ] critical path
  • [ ] mock数据 怎么生成
  • [ ] 数据库表怎么设计?
  • [ ] hybrid了解吗?与native通信这块了解吗
  • [ ] 运营商劫持?
  • [ ] 服务器具有什么功能
  • [ ] 数据结构会吗
  • [ ] csrf是什么 如何用node处理csrf
  • [ ] AMD有什么特点
  • [ ] aouth是干嘛的
  • [ ] 单点登录的原理
  • [ ] cookie的path
  • [ ] 做视差滚动 什么库
  • [ ] hls和rtmp的区别
  • [ ] hash map怎么实现
  • [ ] ts的泛型
  • [ ] seo
  • [ ] 协作开发怎么版本控制
  • [ ] ast
  • [ ] mysql事务
  • [ ] 锁
  • [ ] 实现seajs
  • [ ] 慢启动
  • [ ] 网络阻塞排查
  • [ ] 网站资源用不同域名做处理的好处
  • [ ] store 的数据怎么传到组件的props里面
  • [ ] 虚拟dom
  • [ ] pwa webComponents webAssembly了解吗

学习笔记

操作系统

上次更新: 3/1/2019, 10:56:49 AM