摘要
临阵磨枪-安利一波个人总结前端面试题
持久战-如何拓宽自己的视野
前端面试题
我通过大量的研究网上面试题,并对个人面试总结归纳了一套常见面试题目。
建议根据我的checkbox顺序背题,比较有条理性,更容易记忆。
Javascript
- bind 模拟
- apply模拟 call
- 原型链
- 事件机制
- 函数防抖函数节流 throttle debounce
- 手写promise
- 继承模式https://github.com/mqyqingfeng/Blog/issues/16 原型链继承 构造函数继承 组合继承 原型继承 寄生继承 组合寄生继承
- proxy
- 发布订阅者模式
- mvc mvp mvvn
- 同源策略
css部分
- bfc
- css选择器 id 类 伪类 标签 关系 属性
- 动画关键帧 https://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html
- flex https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
- css权重 id选择 》 类伪类 》 标签 无权重 关系 not (not()中的选择器会影响)
- 盒模型 https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model
- box-sizing https://developer.mozilla.org/zh-CN/docs/Web/CSS/box-sizing
浏览器部分
- 跨域
- 浏览器缓存https://juejin.im/entry/5ad86c16f265da505a77dca4
- 浏览器并发数
- 浏览器渲染过程
- 回流和重绘 https://juejin.im/post/5a9923e9518825558251c96a
- 事件委托
- 事件模型 事件捕获 目标 事件冒泡 baseDOm -》 current target -》baseDOm
- 任务调度 https://juejin.im/post/5e154b01e51d4540f462fa3c
- 事件循环机制 宏任务,微任务 https://juejin.im/post/5b498d245188251b193d4059
- script 的 async 和 defer https://segmentfault.com/a/1190000006778717 defer 加载 延迟 执行 async 加载执行都不阻塞渲染
- cookie local storage session storage
- http https
- http1 http1.1 http2
框架部分
- react
- redux
算法
- https://juejin.im/post/5c3d6bb4e51d45520d2fd5f5 买卖股票
- https://juejin.im/post/5bde7c926fb9a049f66b8b52 手写实现
- 回文
- 二的n次方 n& n-1=0
- 进制转换 x & (y - 1) 取余的一意思 >> 右移动 除号
其他高手总结
- https://github.com/markyun/My-blog/tree/master/Front-end-Developer-Questions/Questions-and-Answers
- https://juejin.im/post/5d23e750f265da1b855c7bbe
视野宽度的构建
养兵千日用兵一时
永远不要只看眼前的枸杞,忽视了长久的锻炼。
一个人的眼界不是一朝一夕之间就能建立起来的。
看书
个人建议从一下几个方面去看书,对程序员个人发展影响十分重要。
首先要看与本职相关的书籍,因为这和你的饭碗相关联。
看管理相关的,看管理的不是让你去管理别人,管理自己的时间资源,管理学习方向等。。。
看和开发工程化相关的,比如项目管理。从头到尾系统化了解一个项目的运作流程。从需求分析,到立项、人力分派、代码管理、单元测试等。
产品方面,万物皆产品。好的产品一方面内容为王,一方面运营推广。你有没有想过为什么你写的模块没人用?可能根本就没人知道,也可能就是很烂。从一个产品的角度去看待你做的事情,你会发现更加有条理性,
造轮子
造轮子和找轮子是分不开的,造轮子分三步。
轮子放在什么车上:需求分析
车行里这样的轮子有哪些:找轮子
真正的造轮子:从轮子中脱颖而出,解决其他轮子解决不了的问题
能做到第一步和第二步基本就可以满足日常所需的,但是人总要有梦想不是。
但是实现梦想的过程是一个循序渐进的过程,react的开发思维方式也非一朝一夕产出的,也是在之前某些知识上慢慢构建的。
当我们还没有能力做原创的时候,我们要学会借鉴,不要觉得借鉴很low比,初学者就是在借鉴中成为大师,而大师负责改动借鉴的思维,成为原创。
借鉴的过程自然而然就会学习到,比如当我模仿公司组件库开发ui实现一套组件库的时候,掌握了css命名规范,基于当下的理念构造出一套新的文档的手脚架,这在面试过程中十分的加分。
坚持
冰冻三尺,非一日之寒。
当我在简历上写下我的github账户的时候,我万万没想到,在面试的时候阿里的面试官会告诉我,看你的提交记录觉得你说的是真实的。万万没想到当时自认为做的无用功,没有一个start的项目,没有watch的项目,在提交记录上吃到了甜头。
所以坚持尝试,坚持产出,不要怕,就是干,奥力给。