CSS样式基本布局也是前端的基本功课,相比JS,自己这方面并没有做足功课,只能根据常见的面试题反向逼迫自己尽快复习了,实习春招和秋招加油吧
前端性能
前端性能优化的相关内容,好好掌握消化,其实这一部分实用性远高于应试性,很考验各位前端仔的实战水平的
javascript面试问题
js函数手写
手写常见js函数,面试必备,多练几遍,争取手撕成功,按照顺序补充,加油啊,除了算法题这种题也很关键,总算重新整理了一遍,以该版本为作为自己最终收藏的版本更新了。
目录
1.手写 call✅
2.手写apply✅
3.手写bind✅️
4.手写new✅
6.手写ES5继承✅
9.实现一个函数判断数据类型✅
10.手写深拷贝✅
11.数组扁平化✅
12.数组去重✅
13.手写数组ES5常见方法✅
14.实现数组原地反转✅
15.reduce的应用汇总✅
16.洗牌算法✅
17.对象扁平化✅
18.手写偏函数✅
19.函数柯里化✅
20.手写compose函数✅
21.[实现 (5).add(3).minus(2) 功能](#21.实现 (5).add(3).minus(2) 功能)✅
22.[实现一个 add 函数](#22.实现一个 add 函数)✅
23.计算两个数组的交集✅
24.手写对象深度比较✅
25.扁平数组转树状结构✅
26.防抖(debounce)✅
27.节流(throttle)✅
28.手写const✅
29.手写双向绑定✅
30.图片懒加载✅
31.区间随机数生成器✅
32.打印菱形✅
33.手写parseInt✅
34.手写JSON.stringify✅
35.手写JSON.parse✅
36.[解析 URL Params 为对象](#36.解析 URL Params 为对象)✅
37.模板引擎实现✅
38.驼峰命名-中划线转换✅
39.查找字符串中出现最多的字符和个数✅
40.字符串查找✅
41.实现千位分隔符✅
42.正则表达式的基本运用✅
43.手写trim✅
44.版本号比较✅
45.手写Object.freeze✅
46.实现ES6的extends✅
47.手写实现Set✅
48.手写实现Map✅
49.检测对象循环引用✅
50.单例模式✅
51.观察者模式✅
52.发布/订阅模式 (EventBus/EventEmitter)✅
53.手写事件代理✅
54.手写JSONP跨域✅
55.手写Promise✅
56.手写ajax封装✅
57.手写实现sleep✅
58.手写promisify✅
59.实现延时执行队列✅
61.手写fetch✅
62.手写实现Generator✅
63.手写实现async/await✅
64.手写异步串行和异步并行✅
65.异步并发数限制✅
66.LazyMan✅
67.Promise超时重新请求✅
Promise async Generator实现原理解析
转自 https://juejin.im/post/6844904096525189128
笔者刚接触async/await时,就被其暂停执行的特性吸引了,心想在没有原生API支持的情况下,await居然能挂起当前方法,实现暂停执行,我感到十分好奇。好奇心驱使我一层一层剥开有关JS异步编程的一切。阅读完本文,读者应该能够了解:
Promise的实现原理async/await的实现原理Generator的实现原理
hexo搭建博客
搭建一个博客不难,但是网上资料好多坑。我也是一个刚入门小白,可能有些会写错,请在评论指出。但是有经过实战测试的。 我用的博客框架是 hexo,采用 NexT 主题 ,使用 Github 托管项目,使用Github Pages实现页面搭建。
Vue电商管理后台项目
使用 Vue搭建的电商管理后台项目,手把手地指引新人每一步的过程,项目调用了别人提供的后端接口。笔记我是重新梳理了一遍,只有动手做才能发现自己踩过的坑,加以改进。为了方便,我最终选择将自己学习搭建的Vue电商项目托管至Gitee Pages和GitHub Pages,实现项目的正式上线 Vue电商项目(Gitee Pages)和Vue电商项目(GitHub Pages),其中GitHub Pages采用的是我自己在阿里云配置的域名,所以和博客是同一个域名。
Weppack面试题整理
这一块知识是我的盲区(话说我的盲区也太多了吧,根本就是眼瞎😭)直接复制人家整理好的吧 「吐血整理」再来一打Webpack面试题,感觉自己啥也不会,就知道它是用来打包的工具
设计模式
常见设计模式
1.为什么要学习设计模式?
在许多访谈中,你可能会遇到很多面向对象编程中的接口,抽象类,代理和以及其他与设计模式相关的问题。 一旦了解了设计模式,它会让你轻松应对任何访谈,并可以在你的项目中应用这些特性。在应用程序中实现设计模式已经得到验证和测试。
为了使应用程序具有可扩展性,可靠性和易维护性,应该编写符合设计模式的代码。
2.什么是设计模式。
设计模式是我们每天编程遇到的问题的可重用解决方案。
设计模式主要是为了解决对象的生成和整合问题。
换句话说,设计模式可以作为可应用于现实世界编程问题的模板。
3.设计模式的发展历史
设计模式的概念是由四人帮(《设计模式(可复用面向对象软件的基础)》的四位作者)提出。
四人帮把这本书分成两部分:
第一部分解释面向对象编程的优缺点。
第二部分是关于 23 个经典设计模式的演变。
自提出设计模式概念后,四人帮设计模式在软件开发生命周期中发挥了重要作用。
4.设计模式分类
根据实际应用中遇到的不同问题,四人帮将设计模式分为三种类型。
- 创建型模式
- 结构型模式
- 行为型模式
接下来将概述属于这三种类型的 23 种设计模式的主要概念。