数据结构、计算机网络 + 前端的知识
40% 60%
面经 10%
https://www.nowcoder.com/search/all?query=%E5%89%8D%E7%AB%AF%20%E9%9D%A2%E7%BB%8F&type=all&searchType=%E9%A1%B6%E9%83%A8%E5%AF%BC%E8%88%AA%E6%A0%8F
数据结构 20-30%
- 笔试 1)单独的笔试--2)**面试过程中 **
- leetcode
- hot 100 leetcode.cn/problemset/…
- 简单、中等 --80-100题 3/天 -- 10-20%
- 数组、字符串、二叉树、队列、栈、链表
- 类型:递归 dfs bfs 动态规划 背包、排序
- javascript leetcode.cn/problemset/…
- 类型:扁平化数组、数组去重、柯里化、节流、防抖、闭包、promise
计算机网络 20-30%
- 关键词: http、tcp/udp、请求方式get/post、进程/线程、状态码、缓存、(DNS)
- 知识地图: juejin.cn/post/690832…
- 常见问题:
- http/https区别、http1.1、 http2.0特点和优点、(websocket特点)
- tcp 拥塞控制、流量控制;tcp/udp 区别 udp特点
- get/post 区别
- 进程/线程区别
- 常见状态码[4开头 3开头 2开头 5开头分别代表什么] 500 404 304 302 分别代表什么
- 缓存 - 强缓存/协商缓存; localstorage\sessionStorage\cookie 区别\
前端的知识 50-60%
html+css+js(重要) + vue\react(vue比较简单) + webpack
html 10%
https://juejin.cn/post/6905294475539513352 (仅供参考)
- 关键词: html5、语义化标签、DOM查询操作、常见行内元素/块级元素、BFC
- 常见问题:
- 什么是BFC,如何构建BFC?
- html5新增哪些特性?
- 常见语义化标签有哪些?
- 常见块级元素、行内元素
- DOM查询操作--js 对于DOM的处理 例如 querySelectorAll
css 30%
- 关键词:选择器、定位(position)、浮动(float)、flex、bfc、盒模型
- 常见问题:
- 常用选择器和优先级?
- 伪类、伪元素是什么?
- 定位有哪几种?分别有哪些用法
- 浮动是什么?
- 如何清除浮动?--引出BFC(块级格式化上下文)是什么?
- 盒模型?什么是border-box
- 如何隐藏元素?有哪几种方式
- 实现一个三角形
- 实现两栏布局、三栏布局-中间自适应
- 实现 垂直水平居中的几种方式?
- 画一个0.5px的直线如何实现?
- 单行、多行文本溢出 折叠如何实现?
- flex布局的理解,与运用
- (进阶--什么是预处理器?Less\sass是什么?)
- css3 有哪些新特性?
js 40%
https://juejin.cn/post/6940945178899251230 --重点看-总结的很全面--面试题
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript --MDN --基础知识
https://wangdoc.com/javascript/basic/history --阮一峰 --基础知识**
- 关键词:数据类型、es6、变量提升、作用域、this指向、原型链、柯里化、执行上下文、异步【promise\async\await】
- 常见问题:
- 常见数据类型有哪些?es6新增了哪些?
- 如何判断一个变量的类型? typeof 、instanceof 怎么使用?
- 什么是变量提升?如何避免变量提升?
- 什么是作用域? 如何构建块级作用域?
- this指向问题--call\bind\apply有什么作用?怎么使用?如何实现call\bind\apply\new等等
- 什么是原型链?--结合上面的this指向问题提问
- 柯里化-如何实现一个柯里化
- 常见的遍历方式有哪些? for循环\ for of \ for in\ map\forEach\reduce用法
- 什么是内存泄漏?垃圾回收机制?
- es6有哪些新特性?let\const\set\map\柯里化\迭代器\async \await \模板字符串\ 解构
- 字符串有哪些操作方法?split slice
- 数组有哪些操作方法?push pop shift unshift sort map forEach reduce slice splice join
- 类数组是什么?arguments是什么?
- 正则?什么是正则?正则表达式
- 异步请求promise? 实现Promise.all/实现Promise.race? 什么是 async/await?
- setTimeout/setTimeInterval?
- 事件循环机制?** 事件循环队列**
- (ajax axios fetch dom操作 )
vue(框架-20%)
v2.cn.vuejs.org/v2/guide/ 官方文档-快速入门 学习vue 2.0 、、 juejin.cn/post/691937… -知识地图
- 常见问题
- vue 原理?
- MVVM是什么?
- 双向数据绑定原理?--v-model原理?
- v-if v-show 区别?
- vue生命周期有哪些?
- computed watch methods 分别是什么? 有什么区别?
- 什么是虚拟DOM? 为什么Index不能作为循环的key
- 组件通信方式?父组件->子组件?子组件->父组件?
- vue cli 脚手架
- (进阶vuex如何使用? vuex状态管理)
- (进阶 vue 3.0有哪些新增属性?与2.0区别?)
webpack 工程化(10%-20%)
https://webpack.wuhaolin.cn/1%E5%85%A5%E9%97%A8/#google_vignette
B站
https://www.webpackjs.com/
-- 需要动手搭建一个小项目使用webpack
- 常见问题
-
常见的Loader有哪些?有什么作用? -
常见的Plugin有哪些?有什么作用? -
babel是什么?有什么作用? -
(进阶--webpack性能优化常见的操作有哪些?
基础能力
git命令
- 常见的git操作,如何拉代码、推代码、分支冲突、拉新的分支
- ** 在github构建一个代码仓库,本地开发代码都推上去**
- 常见命令