字节跳动飞书文档--面试题
wen 2022/4/7 面试题
# 1. 前端基础
# javascript
- 原型链:https://github.com/mqyqingfeng/Blog/issues/2 (opens new window)
- 继承:https://github.com/mqyqingfeng/Blog/issues/16 (opens new window)
- 作用域:https://github.com/mqyqingfeng/Blog/issues/6 (opens new window)
- 闭包:https://github.com/mqyqingfeng/Blog/issues/9 (opens new window)
- 变量提升:https://github.com/mqyqingfeng/Blog/issues/5 (opens new window)
- this 指向:https://github.com/mqyqingfeng/Blog/issues/7 (opens new window)
- 立即执行函数:https://segmentfault.com/a/1190000003985390 (opens new window)
- instanceof 实现原理:https://juejin.cn/post/6844903613584654344 (opens new window)
- bind 实现:https://github.com/mqyqingfeng/Blog/issues/12 (opens new window)
- call 和 apply:https://segmentfault.com/a/1190000018017796 (opens new window)
- 柯里化:https://github.com/mqyqingfeng/Blog/issues/42 (opens new window)
- V8 引擎的垃圾回收机制:https://juejin.cn/post/6844904016325902344 (opens new window)
- 浮点数精度:https://github.com/mqyqingfeng/Blog/issues/155 (opens new window)
- new 操作符:https://github.com/mqyqingfeng/Blog/issues/13 (opens new window)
- 事件循环机制:https://zhuanlan.zhihu.com/p/33058983 (opens new window)
- promise 原理:https://juejin.cn/post/6844904063570542599 (opens new window)
- Generators 原理:http://www.alloyteam.com/2016/02/generators-in-depth/ (opens new window)
# css
- 盒子模型:https://segmentfault.com/a/1190000013069516 (opens new window)
- CSS 选择器:https://segmentfault.com/a/1190000013424772 (opens new window)
- BFC:https://zhuanlan.zhihu.com/p/25321647 (opens new window)
- 定位:https://developer.mozilla.org/zh-CN/docs/Learn/CSS/CSS_layout/Positioning (opens new window)
- flex 布局:https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox (opens new window)
- CSS 优先级:https://zhuanlan.zhihu.com/p/41604775 (opens new window)
- 双飞翼 / 圣杯布局:https://juejin.cn/post/6844903817104850952 (opens new window)
- CSS3 新特性:https://segmentfault.com/a/1190000010780991 (opens new window)
- CSS 样式隔离:https://juejin.cn/post/6844904034281734151#heading-9 (opens new window)
- CSS 性能优化:https://blog.csdn.net/weixin_43883485/article/details/103504171 (opens new window)
- 层叠上下文:https://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/ (opens new window)
- div 居中:https://juejin.cn/post/6844903821529841671 (opens new window)
- 浮动:https://segmentfault.com/a/1190000012739764 (opens new window)
# html & 浏览器
- 行内元素、块级元素:https://www.cnblogs.com/yc8930143/p/7237456.html (opens new window)
- 跨标签页通信:https://juejin.cn/post/6844903811232825357 (opens new window)
- hash 和 history 路由模式:https://blog.csdn.net/Charissa2017/article/details/104779412 (opens new window)
- DOM 树:https://blog.poetries.top/browser-working-principle/guide/part5/lesson22.html#dom-%E6%A0%91%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90 (opens new window)
- 事件模型:https://javascript.ruanyifeng.com/dom/event.html (opens new window)
- 缓存策略:https://juejin.cn/post/6844903593275817998 (opens new window)
- Chrome 浏览器架构:https://xie.infoq.cn/article/5d36d123bfd1c56688e125ad3 (opens new window)
- 浏览器工作原理:https://web.dev/howbrowserswork/ (opens new window)
- 内存泄漏:https://segmentfault.com/a/1190000020231307 (opens new window)
# 性能
- 前端性能优化指标 RAIL:https://juejin.cn/post/6850037273312886797 (opens new window)
- 前端性能优化手段:https://alienzhou.com/projects/fe-performance-journey/#%E6%97%85%E9%80%94%E7%9A%84%E8%A1%8C%E7%A8%8B%E8%B7%AF%E7%BA%BF (opens new window)
- 重排和重绘:https://juejin.cn/post/6844904083212468238 (opens new window)
- 白屏:https://cloud.tencent.com/developer/article/1508941 (opens new window)
- 大量图片加载优化:https://zhuanlan.zhihu.com/p/33370207 (opens new window)
- 从输入 URL 到页面加载完成的过程:https://www.jianshu.com/p/d616d887953a (opens new window)
- 动画性能:https://www.jianshu.com/p/d24a891d4de6 (opens new window)
- 渲染合成层:https://segmentfault.com/a/1190000014520786 (opens new window)
# 工程化
- 模块化机制:https://segmentfault.com/a/1190000017466120 (opens new window)
- Tree-Shaking:https://juejin.cn/post/6844903544756109319 (opens new window)
- uglify 原理:https://www.h5w3.com/19480.html (opens new window)
- babel 原理:https://bobi.ink/2019/10/01/babel/ (opens new window)
- webpack 工作流程:https://developer.aliyun.com/article/61047 (opens new window)
- webpack 插件机制:https://juejin.cn/post/6844903789804126222 (opens new window)
- webpack loader 机制:https://github.com/youngwind/blog/issues/101 (opens new window)
- 前端微服务:https://tech.antfin.com/community/articles/536 (opens new window)
# 2. 框架
# react
- 合成事件:https://juejin.cn/post/6844903988794671117 (opens new window)
- Virtual DOM:https://segmentfault.com/a/1190000019994425 (opens new window)
- setState 执行机制:https://juejin.cn/post/6844903781813993486 (opens new window)
- Fiber 架构:https://zhuanlan.zhihu.com/p/57346388 (opens new window)
- 高阶组件:https://zhuanlan.zhihu.com/p/24776678 (opens new window)
- 错误处理:https://github.com/HuJiaoHJ/blog/issues/12 (opens new window)
- 性能优化:https://github.com/brickspert/blog/issues/36 (opens new window)
# redux
- redux核心原则
- redux核心逻辑:https://tech.meituan.com/2017/07/14/redux-design-code.html (opens new window)
# vue
- 数据绑定原理:https://juejin.cn/post/6844903869730799629 (opens new window)
- computed 和 watch:https://www.cnblogs.com/tugenhua0707/p/11760466.html (opens new window)
- slot:https://juejin.cn/post/6844903927129849864 (opens new window)
- nextTick 原理:https://www.cnblogs.com/leiting/p/13174545.html (opens new window)
- keep-alive:https://juejin.cn/post/6844903950886371342 (opens new window)
# 3. 算法
# 算法
- 斐波那契数:https://leetcode.cn/problems/fibonacci-number/ (opens new window)
- 合并二维有序数组成一维有序数组:https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/ (opens new window)
- 链表 -- 反转链表:https://leetcode.cn/problems/fan-zhuan-lian-biao-lcof/ (opens new window)
- 链表 -- 链表有环:https://leetcode.cn/problems/linked-list-cycle/ (opens new window)
- 堆栈队列 -- 判断括号字符串是否有效:https://leetcode.cn/problems/valid-parenthesis-string/ (opens new window)
- 返回数组中第K个最大元素:https://leetcode.cn/problems/kth-largest-element-in-an-array/ (opens new window)
- 找出数组中和为 sum 的 n 个数:https://wizardforcel.gitbooks.io/the-art-of-programming-by-july/content/02.03.html (opens new window)
- 贪心 -- 具有给定数值的最小字符串:https://leetcode.cn/problems/smallest-string-with-a-given-numeric-value/ (opens new window)
- 二叉树 -- 最大深度:https://leetcode.cn/problems/er-cha-shu-de-shen-du-lcof/ (opens new window)
- 二叉树 -- 层次遍历:https://leetcode.cn/problems/binary-tree-level-order-traversal/ (opens new window)
- 剪枝 -- 判断数独是否有效:https://leetcode.cn/problems/valid-sudoku/ (opens new window)
- 二分查找 -- 求解平方根:https://leetcode.cn/problems/sqrtx/ (opens new window)
- 字典树 -- 实现一个字典树:https://leetcode.cn/problems/implement-trie-prefix-tree/ (opens new window)
- 爬楼梯问题:https://leetcode.cn/problems/climbing-stairs/ (opens new window)
- 最短距离:https://leetcode.cn/problems/shortest-distance-to-a-character/ (opens new window)
- LRU 缓存:https://leetcode.cn/problems/lru-cache/ (opens new window)
- 翻转二叉树:https://leetcode.cn/problems/invert-binary-tree/ (opens new window)
# 编程题
- 实现一个 trim 方法:https://www.cnblogs.com/rubylouvre/archive/2009/09/18/1568794.html (opens new window)
- 实现一个 deepClone 方法:https://cloud.tencent.com/developer/article/1497418 (opens new window)
- 实现 add(1)(2)(3):https://juejin.cn/post/6844904093467541517 (opens new window)
- 大数相加:https://zhuanlan.zhihu.com/p/72179476 (opens new window)
- 拍平数组:https://segmentfault.com/a/1190000021366004 (opens new window)
- 实现防抖函数:https://github.com/mqyqingfeng/Blog/issues/22 (opens new window)
- 实现节流函数:https://github.com/mqyqingfeng/Blog/issues/26 (opens new window)
- 实现字符串翻转:https://leetcode.cn/problems/reverse-string/ (opens new window)
- 数组去重:https://github.com/mqyqingfeng/Blog/issues/27 (opens new window)
- 实现千位分隔符:https://www.jianshu.com/p/928c68f92c0c (opens new window)
- 判断是否是回文数:https://leetcode.cn/problems/palindrome-number/ (opens new window)
- 实现一个模板引擎:https://github.com/mqyqingfeng/Blog/issues/63 (opens new window)
- 判断一个数是否为质数/素数:https://blog.csdn.net/huang_miao_xin/article/details/51331710 (opens new window)
- 获取 n 以内所有的素数:https://leetcode.cn/problems/count-primes/solution/ru-he-gao-xiao-pan-ding-shai-xuan-su-shu-by-labula/ (opens new window)
# 4. 基础
# 操作系统
- 进程与线程:https://juejin.cn/post/6844903801321685000 (opens new window)
- 进程间通信:https://www.jianshu.com/p/c1015f5ffa74 (opens new window)
- 进程调度策略:https://blog.csdn.net/qq_35642036/article/details/82809812 (opens new window)
- 死锁:https://www.jianshu.com/p/44125bb12ebf (opens new window)
- I/O 多路复用:https://imageslr.com/2020/02/27/select-poll-epoll.html (opens new window)
# 网络
- 7层网络模型:https://zhuanlan.zhihu.com/p/32059190 (opens new window)
- http:https://coolshell.cn/articles/19840.html (opens new window)
- https:https://zhuanlan.zhihu.com/p/26682342 (opens new window)
- http2.0:https://juejin.cn/post/6844903984524705800 (opens new window)
- http3.0:https://blog.csdn.net/wolfGuiDao/article/details/108729560 (opens new window)
- websocket:https://blog.csdn.net/LL845876425/article/details/106393358 (opens new window)
- tcp:https://coolshell.cn/articles/11564.html (opens new window)
- udp:https://zhuanlan.zhihu.com/p/337678680 (opens new window)
# 5. 大前端
# node
- 模块机制:https://juejin.cn/post/6844904030905303054 (opens new window)
- require 原理:http://www.ruanyifeng.com/blog/2015/05/require.html (opens new window)
- 事件循环:https://learnku.com/articles/38802 (opens new window)
- cluster 原理:https://www.cnblogs.com/dashnowords/p/10958457.html (opens new window)
- 流机制:https://www.barretlee.com/blog/2017/06/06/dive-to-nodejs-at-stream-module/ (opens new window)
- pipe 原理:https://cloud.tencent.com/developer/article/1630068 (opens new window)
- 守护进程:https://juejin.cn/post/6844903444839399438 (opens new window)
- 进程间通信:http://www.ayqy.net/blog/nodejs%E8%BF%9B%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1/ (opens new window)
- 异常处理:http://www.alloyteam.com/2013/12/node-js-series-exception-caught/ (opens new window)
# 6. 其他
# 设计架构
- 设计模式:https://refactoringguru.cn/design-patterns (opens new window)
- 重构:https://www.jianshu.com/p/f667ea3e4a11 (opens new window)
- MVVM:https://zhuanlan.zhihu.com/p/79899786 (opens new window)
- MVC:https://blog.csdn.net/zhangli_/article/details/50419783 (opens new window)
- MVP:https://www.jianshu.com/p/4b754ea48a40 (opens new window)
# 其他
- 看的书
- 学习途径
- 擅长与不足:https://zhuanlan.zhihu.com/p/139952856 (opens new window)