# 技术分享2003a **Repository Path**: bingyu123/technology-sharing-2003a ## Basic Information - **Project Name**: 技术分享2003a - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-09 - **Last Updated**: 2023-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 知识点分享 ## html&css - [ ] 无缝轮播 如何设计实现无缝轮播 - [ ] Dialog类 实现一个 Dialog 类,Dialog可以创建 dialog 对话框,对话框支持可拖拽(腾讯) - [ ] BFC、IFC、GFC 和 FFC - [ ] 文本溢出 如何用 css 或 js 实现多行文本溢出省略效果,考虑兼容性 ## javascript - [ ] 对象编程 js的面向对象编程 - [ ] 继承 ES5/ES6 的继承除了写法以外还有什么区别? - [ ] 拷贝函数 用深度优先思想和广度优先思想实现一个拷贝函数? - [ ] new 如何实现一个 new - [ ] 原型 js原型和原型链以及应用 - [ ] 闭包 js作用域提升和闭包 - [ ] es6中模拟map源码 - [ ] 模拟call 模拟call源码 - [ ] 模拟bind 模拟bind源码 - [ ] 模拟apply 模拟apply源码 - [ ] generator - [x] [promise 以及promise的应用 异步加载文件 2020.12.9 崔立宝](http://bingyu123.gitee.io//) - [ ] Promise.race() 设计并实现 Promise.race() - [ ] Promise.finally 模拟实现一个 Promise.finally - [ ] async_await 以及优雅的错误处理 - [ ] async_Await原理 如何通过同步的方式实现异步 - [ ] co模块 的封装 - [ ] 柯理化 函数 - [ ] Object.defineProperty 缺陷以及proxy - [ ] 装饰器 es7中装饰器 - [ ] [数组去重 的八种姿势 2020.12.14 张钊](http://bingyu123.gitee.io/technology-sharing-2003a/javascript/array-de-duplication/) - [ ] set、map、weakSet、weakMap 区别 - [ ] es6转换 es5的实现思路 - [ ] forEach for循环和forEach性能研究 - [ ] OOM 内存泄漏 OOM 垃圾回收机制 ## vue - [ ] vue混入 - [ ] 全局 封装一个全局模态框 - [ ] 插件 Vue 的插件机制 - [ ] 双向绑定 Vue 的双向数据绑定,Model 如何改变 View,View 又是如何改变 Model 的 - [ ] 生命周期 Vue 的父组件和子组件生命周期钩子执行顺序是什么 - [ ] Virtual DOM 真的比操作原生 DOM 快吗?谈谈你的想法。 - [ ] key作用 写React / Vue 项目时为什么要在列表组件中写 key,其作用是什么? ## react - [ ] reducer redux 为什么要把 reducer 设计成纯函数 - [ ] [react-router 和a标签有什么区别 2020.12.15付晓萱](http://bingyu123.gitee.io/technology-sharing-2003a/react/react-router/) - [ ] mutation 为什么 Vuex 的 mutation 和 Redux 的 reducer 中不能做异步操作? - [ ] hooks ## node - [ ] npm 模块安装机制,为什么输入 npm install 就可以自动安装对应的模块? - [ ] 并发 node中并发和多线程的理解 - [ ] 事件循环 浏览器和Node事件循环的区别 ## 网络编程 - [ ] http协议 http1.0、1.1、2.0 协议的区别? - [ ] 状态码 Http 状态码 301 和 302 的应用场景分别是什么 - [ ] 重定向 永久性重定向(301)和临时性重定向(302)对 SEO 有什么影响 - [ ] http缓存 - [ ] 前端加密 介绍下前端加密的常见场景和方法 - [ ] HTTPS 中间人攻击 - [ ] 防刷 接口如何防刷 - [ ] 浏览器缓存 读取规则 - [ ] websocket - [ ] 握手 TCP三次握手和四次挥手的理解 - [ ] cookie_token cookie 和 token 都存放在 header 中,为什么不会劫持 token? - [ ] token加密 如何实现 token 加密 - [ ] http2 的多路复用 ## 优化 - [ ] 重绘 和回流 - [ ] 防抖 和节流 input 搜索如何防抖,如何处理中文输入 - [ ] 打包 webpack打包vue速度太慢怎么解决 - [ ] 优化首页 如何优化首页的加载速度?首页白屏是什么问题引起的?如何解决呢 - [ ] 大量数据 vue 渲染大量数据时应该怎么优化? - [ ] 热更新 webpack 热更新原理,是如何做到在不刷新浏览器的前提下更新页面的 ## 工程化 - [ ] 文档工具 - [ ] git 的workflow - [ ] 接口测试 工具 - [ ] 敏捷开发 工具 - [ ] 线上bug 的解决姿势 - [ ] ts的环境 搭建 - [ ] Nginx ## 多端开发 - [ ] andorid 和js的交互 - [ ] flutter - [ ] react-native ## 面试题 - [ ] 关键词高亮 实现模糊搜索结果的关键词高亮显示 - [ ] convert 实现 convert 方法,把原始 list 转换成树形结构,要求尽可能降低时间复杂度 - [ ] 父级id 已知数据格式,实现一个函数 fn 找出链条中所有的父级 id - [ ] Retina屏 移动端 Retina 屏 1px 像素问题 - [ ] 移动零 算法题之移动零 - [ ] 深拷贝 模拟实现一个深拷贝,并考虑对象相互引用以及 Symbol 拷贝的情况 - [ ] 埋点 为什么通常在发送数据埋点请求的时候使用的是 1x1 像素的透明 gif 图片? - [ ] 旋转数组 算法题「旋转数组」 - [ ] 数组合并 两个数组合并成一个数组 - [ ] 引用 `a.b.c.d` 和 `a['b']['c']['d']`,哪个性能更高? - [ ] sleep函数 实现一个 sleep 函数 - [ ] 反转 如何把一个字符串的大小写取反(大写变小写小写变大写),例如 ’AbC' 变成 'aBc' 。