前端需要掌握的技能

简介: 前端需要掌握的技能

js:

怎么实现this对象的深拷贝

文件上传如何做到断点续传

表单可以跨域吗

promise,async有什么区别

搜索请求如何处理(防抖)

搜索请求中文如何请求

介绍观察者模式

介绍中介者模式

观察者和订阅发布的区别,各自用在哪里

介绍service worker

介绍promise,异常捕获

浏览器事件流向

介绍事件代理及其优缺点

介绍this各种情况

前端怎么控制管理路由

使用路由时出现问题如何解决

js异步解决方案的发展历程以及优缺点

对async,await的理解,内部原理

介绍下promise,内部实现

bind,call,apply的区别

动画的了解

介绍下原型链(解决的是继承问题吗)

对跨域的了解

介绍暂时性死区

es6中map和原生的对象有什么区别

如何设计promise.all()

sum(2,3)实现sum(2)(3)的效果

两个对象如何比较

js原型

变量作用域链

防抖和节流的区别

介绍各种异步方案

介绍Fiber

介绍dom树对比

项目中如何应用数据结构

设计模式-前端开发中用到哪些设计模式

[1,2,3,4,5]变成[1,2,3,a,b,5]

取数组最大值(es5,es6)

es5和es6有什么区别

some,every,find,filter,map,forEach有什么区别

页面上有一万个button如何绑定事件

如何判断是button

页面上生成一万个button,并且绑定事件,如何做(js原生操作dom)

循环绑定时的index是多少,为什么,怎么解决

页面上有一个input,还有一个p标签,改变input后p标签就跟着变化,如何处理

监听input哪个事件,在什么时候触发

对闭包看法,为什么要使用闭包,闭包为什么没清除,使用场景

手写去重函数

手写数组扁平化函数

介绍promise用途和性质,promise有几个状态

promise的精髓,以及优缺点

promise和callback有什么区别

es6新特性

对PWA有什么了解

介绍下数字签名的原理

前后端通信使用什么方案

restful常用method

access-control-allow-origin在服务端哪里配置

csrf跨站攻击如何解决

前后端怎么联调

prototype和_proto_的区别

_construct是什么

new是怎么实现的

原型链与继承

介绍js数据类型,基本数据类型和引用数据类型的区别

Array是Object类型吗

数据类型分别存在哪里

var a = {name:“前端开发”}; var b = a; a = null; 那么b输出什么?

var a = {b:1}存放在哪里

var a = {b:{c:1}}存放在哪里

栈和堆的区别

垃圾回收时栈和堆的区别

数组里面有10万个数据,取第一个元素和第10万个元素的时间相差多少?

堆和栈具体怎么存储

js怎么实现异步

异步整个执行周期

promise三种状态

async/await怎么实现

promise和setTimeout执行先后的区别

js为什么要分微任务和宏任务

promise构造函数是同步还是异步执行,then呢

js执行过程中分为哪些阶段

词法作用域和this的区别

平常是怎么做继承

深拷贝和浅拷贝

loadash深拷贝实现原理

ES6中let块作用域是怎么实现的

a,b两个按钮,点击aba,返回顺序可能是baa,如何保证是aba(Promise.then)

node接口转发有没有做什么优化

node起服务如何保证稳定性,平缓降级,重启等

遇到的复杂业务场景

promise.all()实现原理

formData和原生ajax区别

介绍下表单提交,和formData有什么关系

如何处理异常捕获

项目如何管理模块

判断数组

交换a和b变量

类数组和数组的区别

dom的类数组如何转成数组

this

使用原型的最大好处

单例,工厂,观察者模式项目中实际场景

项目中树的使用场景及了解

工作收获

setInterval需要注意的点

定时器为什么是不精确的

setTimeout(1)和setTimeout(2)之间的区别

介绍宏任务和微任务

promise里面和then里面执行有什么区别

介绍class和ES5的类及区别

介绍箭头函数和普通函数的区别

介绍defineProperty方法,什么时候用到

for…in和object.keys的区别

js是什么范式语言(面向对象还是函数式编程)

promise有没有解决异步的问题

promise和setTimeout的区别(event loop)

进程和线程的区别(一个node实例就是一个进程,node是单线程,通过事件循环来实现异步)

介绍下DFS深度优先

观察者模式里面使用的数据结构(不具备顺序,是一个list)


基础:

== 以及 === 的区别,什么情况下用相等==


存储:

cookie放哪里,cookie能做的事情和存在的价值

cookie和token都存放在header里面,为什么只劫持前者

cookie和session有什么区别

如何设计一个localStorage,保证数据的实效性

http缓存控制

cookie和localStorage有什么区别


算法:

介绍冒泡排序,选择排序,冒泡排序如何优化

如何判断链表是否有环

介绍二叉搜索树的特点

快速排序

前K个最大的元素


react相关:

react设计思路

react生命周期及自己的理解,对应的生命周期做什么事

遇到性能问题一般在哪个生命周期解决

服务器渲染ssr

介绍react优化

react组件中事件代理(原理,怎么做,解决什么问题)

react组件中怎么做事件代理

react组件事件代理的原理

react中dom结构发生变化后内部经历了哪些变化

react挂载的时候有3个组件,textComponent,composeComponent,domComponent,区别和关系,dom结构发生变化时怎么区分data的变化,怎么更新,更新怎么调整,如果更新的时候还有其他任务存在怎么处理

key主要解决哪一类问题,为什么不建议用索引index(重绘)

react怎么做数据的检查和变化

react层面的性能优化(异步加载组件。。)

写react有哪些细节可以优化

react事件机制(绑定一个事件到一个组件上)

react异步渲染的概念,介绍time slicing 和 suspense

X声明周期的改变

X中props改变后在哪个生命周期中处理

介绍纯函数

pureComponent和functionComponent区别

介绍JSX

如何做RN在安卓和IOS端的适配

介绍虚拟DOM,为什么虚拟dom比真实dom性能好

react常见通信方式

介绍高阶组件

react中key的作用

如何设计状态树

shouldComponentUpdate是为了解决什么问题

如何解决props层级过深的问题

react/redux中哪些功能用到了哪些设计模式

js变量类型分为几种,区别是什么

js里垃圾回收机制是什么,常用的是哪种,怎么处理的

Emit事件怎么发,需要引入什么

对react看法,有没有遇到一些坑

componentWillReceiveProps的触发条件是什么

介绍下react的Filber架构

画Filber渲染树

react使用过的一些组件

介绍immuable

react中setState后发生了什么

setState为什么默认异步

setState什么时候是同步的

虚拟dom主要做了什么

虚拟dom本身是什么(js对象)

添加原生事件不移除为什么会内存泄漏,还有哪些地方会内存泄漏

介绍pureComponent

介绍function Component

react数据流

props和state的区别

介绍react context

重新渲染render会做什么

哪些方法会触发react重新渲染

state和props触发更新的生命周期分别有什么区别

对无状态组件的理解

使用中遇到哪些问题,如何解决的

react的理念是什么(拿函数式编程来做页面渲染)


介绍redux,主要解决什么问题

redux整体工作流程

redux和全局对象之间的区别

redux数据回溯设计思路


redux请求中间件如何处理并发

使用过的redux中间件

介绍redux数据流的流程

redux如何实现多个组件之间的通信,多个组件使用相同状态如何进行管理

多个组件之间如何拆分各自的state,每块小的组件有自己的状态,它们之间还有一些公共的状态需要维护,如何思考这块

redux中异步请求怎么处理

redux中间件是什么东西,接受几个参数(两端的柯里化函数)

柯里化函数两端的参数具体是什么东西

中间件是怎么拿到store和action,然后怎么处理

state是怎么注入到组件的,从reduce人到组件经历了什么样的过程

redux的设计思想

接入redux的过程

connect原理

redux在状态管理方面解决了react本身不能解决的问题

redux有没有做过封装

react父子组件之间如何传值

介绍下react高阶组件,和普通组件有什么区别

一个对象数组,每个子对象包含一个id和name,react如何渲染出全部的name,在哪个生命周期里写,其中有几个name不存在,通过异步接口获取,如何做

渲染的时候key给什么值,可以使用index吗,用id还是index好

redux怎么实现属性传递,介绍下原理

redux状态管理和变量挂载到window中有什么区别

介绍下redux整个流程原理

介绍redux接入流程

redux和全局管理有什么区别(数据可控,数据响应)


如何配置react-router

路由的动态加载模块

介绍路由的history

react-router怎么实现路由切换

react-router里的标签和标签有什么区别

标签模式事件禁掉之后做了什么才实现了跳转


nodejs相关:

使用过的koa2中间件

koa原理,和express对比

koa-body原理

介绍自己写过的中间件

有么有涉及到Cluster

介绍pm2

master挂了的话pm2怎么处理

如何和mysql进行通信

koa中response.send,response.rounded,response.json发生了什么事,浏览器为什么能识别到它是一个json结构或是HTML

koa-bodyparser怎么来解析request

koa2中间件原理

常用中间件

服务端怎么做统一的状态管理

如何对相对路径引用进行优化

node文件查找优先级

npm2和npm3+有什么区别


工具相关:

使用过webpack里面哪些plugin和loader

webpack里面的插件是怎么实现的

dev-server是怎么跑起来的

项目优化

抽取公共文件是怎么配置的

import {Button} from ‘antd-design’,打包的时候只打包button,分模块加载,是怎么做到的

使用import时,webpack对node_modules里的依赖会做什么

webpack整个生命周期,loader和plugin有什么区别

webpack介绍

webpack生命周期

webpack打包的整个过程

常用的plugins

pm2怎么做进程管理,进程挂掉怎么处理

不用pm2怎么做进程管理

一般怎么组织css(webpack)

webpack如何配sass,需要配哪些loader

配css需要哪些loader

如何配置把js,css,html单独打包成一个文件

如何实现分模块打包(多入口)

打包时hash码是怎么生成的

随机值存在一样的情况,如何避免

使用webpack构建时有没有做一些自定义操作

webpack做了什么


http、浏览器相关:

介绍下浏览器跨域

如何解决跨域的问题

jsonp方案需要服务端怎么配合

ajax发生跨域要设置什么(前端)

加上CORS后从发起到请求正式成功的过程

xsrf跨域攻击的安全性问题怎么防范

使用async会注意哪些东西

async里面有多个await请求,可以怎么优化(请求是否有依赖)

promise和async处理失败的时候有什么区别

表单可以跨域吗

常见http请求头

介绍http2.0

通过什么做到并发请求

http1.1如何服用tcp连接

http报文请求有几个部分

跨域怎么解决,有没有使用过Apache等方案

从输入URL到页面加载全过程

tcp三次握手

tcp属于哪一层(传输层)

介绍下http状态码

403,301,302,304是什么

缓存相关的http请求头

介绍https

https怎么建立安全通道

如何去除URL中的#号

并发请求资源数上限(6个)

cors如何设置

jsonp为什么不支持post方法

介绍同源策略

网络的五层模型

https加密过程

介绍SSL和TLS

介绍DNS解析


移动端:

移动端适配1px的问题

webView和原生是如何通信

安卓4.0到6.0过程中webview对js兼容性的变化

安卓activity之间数据是怎么传递的

介绍AST抽象语法树

如何实现H5手机端的适配

rem、flex的区别(root em)

em和px的区别


css:

介绍flex布局

其他css方式设置垂直居中

居中为什么要使用transform(为什么不使用margin-left/top)

介绍css3中的position:sticky

清楚浮动

定位问题

transform动画和直接使用left,top改变位置有什么优缺点

两个元素块,一左一右,中间相距10像素,上下固定,中间滚动布局如何实现

css选择器有哪些

盒子模型,标准情况和IE下的区别

如何实现高度自适应


前端安全:

项目中如何处理安全问题


前端性能:

整个前端性能提升大致分几类

如何做工程上的优化

性能优化(js,css,图片,缓存预加载,SSR,多域名加载,负载均衡)

base64为什么能提升性能,缺点

介绍webp这个图片文件格式


测试:

前端怎么做单元测试


推荐笔记:

https://smileyqp.github.io/frontend_book/doc/%E5%89%8D%E7%AB%AFhtml%E5%92%8Ccss%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.html

目录
相关文章
|
7月前
|
移动开发 前端开发 JavaScript
前端开发人员必须了解的七大技能图谱
前端开发人员必须了解的七大技能图谱
133 1
|
2月前
|
前端开发 API 开发者
🥇前端宝藏:多项目掌握技能的冒险之旅🏆
在前端开发的学习旅程中,实践是提升技能的关键。本文介绍了多个前端项目,包括计算器、天气应用、经典游戏等,涵盖了从React到Svelte的各种技术栈。每个项目都附有在线演示和源代码,旨在帮助读者深入理解实现细节,激励更多人参与实际项目开发。通过这些项目,读者可以将理论知识转化为实践,拓展职业机会。
21 0
|
4月前
|
存储 前端开发 JavaScript
高级前端必备技能
【8月更文挑战第17天】高级前端必备技能
42 1
|
4月前
|
存储 前端开发 JavaScript
数组操作大揭秘:Web前端开发者必备技能!
【8月更文挑战第23天】本文介绍了JavaScript中数组的基本操作方法,包括创建、添加、删除元素、获取数组长度与特定索引的元素、修改元素以及判断元素是否存在等。此外还展示了如何利用 `concat()` 方法或扩展运算符合并数组。这些实用示例有助于前端开发者更好地理解和应用数组。
33 0
|
5月前
|
移动开发 前端开发 JavaScript
高级前端工程师必备的技能
【7月更文挑战第8天】 **高级前端工程师**精通HTML5/CSS3/JavaScript,擅长React、Vue等框架,掌握性能优化、代码质量保证,能设计可扩展架构,处理前端安全,熟悉跨平台开发,持续学习新技术并领导团队,是技术与管理的结合体。他们对提升用户体验和推动技术创新起关键作用。
534 12
|
7月前
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈开发者的必备技能
随着互联网技术的不断发展,全栈开发者的需求日益增长。本文将介绍如何从前端到后端,掌握全栈开发所需的关键技能,包括前端框架的选择、后端语言的学习以及数据库的应用,帮助读者构建成为全面的技术专家。
|
存储 SQL 前端开发
全栈工程师必须要掌握的前端JavaScript技能
作为一名全栈工程师,在日常的工作中,可能更侧重于后端开发,如:C#,Java,SQL ,Python等,对前端的知识则不太精通。在一些比较完善的公司或者项目中,一般会搭配前端工程师,UI工程师等,来弥补后端开发的一些前端经验技能上的不足。但并非所有的项目都会有专职前端工程师,在一些小型项目或者初创公司中,职能划分并不明确,往往要一个人前后端全都会做, 所以作为一名全栈工程师或者后端工程师,掌握必备的前端知识,也是必不可少的一项技能。今天就着重讲解一下,作为一名全栈工程师,前端JavaScript方面的必须要掌握的相关知识。
121 0
|
7月前
|
前端开发 JavaScript API
|
7月前
|
Web App开发 JavaScript 前端开发
【Node.js】大前端技能最通俗易懂的讲解 快速入门必看
【Node.js】大前端技能最通俗易懂的讲解 快速入门必看
93 0
|
7月前
|
XML 前端开发 JavaScript
从Vue2到Vue3, 一键升级前端开发技能
本文的目的,是为了让已经有 Vue2 开发经验的 人 ,快速掌握 Vue3 的写法。