2.html
9.webapi / BOM 和 DOM
- DOM0 到 DOM3 区别?
- dom.contains
- 如何优化大规模 dom 操作的场景
- scrollIntoView api
- documentFragment api 是什么, 有哪些使用场景
- getComputedStyle用法?
- History API ?
- 原生 js 如何进行监听路由的变化
- escape、encodeURI、encodeURIComponent 区别
- URLSearchParams API
- requestIdleCallback api
- 如何判断页签是否为活跃状态
- 移动端如何实现上拉加载,下拉刷新?
- 如何判断dom元素是否在可视区域
- 如何检测网页空闲状态(一定时间内无操作)
- 一次性渲染十万条数据还能保证页面不卡顿
- 计算一段文本渲染之后的长度
6.elements / 元信息和资源
- 说一下 HTMl 下有哪些元素
- HTML5 中 meta 标签作用是啥
- header 的作用 和 head 的区别
- 为什么通常推荐将 CSS `<link>` 放置在 `<head></head>` 之间,而将 JS `<script>` 放置在 `</body>` 之前?你知道有哪些例外吗?
- link 标签有哪些属性,作用是什么?
- 请解释 `<script>、<script async> 和 <script defer>` 的区别
- script 标签设置 `type=module` 和普通脚本有什么区别?
- script 标签设置 `type=module` 和普通脚本有什么区别?
- script 标签设置 `type="importmap"` 是什么,用来解决什么问题?
12.webapi / 其他
- ResizeObserver 作用是什么
- IntersectionObserver api?
- MutationObserver
- PerformanceObserver 如何测量页面性能
- requestAnimationFrame 是什么,有什么作用?
- canvas 是如何处理复杂事件交互的?
- HTML5 `<video>` 和 `<audio>` 元素如何使用?
- 媒体 API 事件和控制方法有哪些?
- 现代Web媒体技术有哪些?
- 如何判断用户设备
- 前端如何实现截图?
- web 网页如何禁止别人移除水印
- 富文本里面, 是如何做到划词的(鼠标滑动选择一组字符, 对组字符进行操作)
- 如何在划词选择的文本上添加右键菜单(划词:鼠标滑动选择一组字符, 对组字符进行操作)
3.nodejs
5.react
1.核心概念
- 什么是 JSX?
- JSX 支持哪些功能?
- 什么是 Virtual DOM, 它的作用是什么?
- Elements 和 Components 有什么区别?
- 什么是 ReactNode 它和 Element 的区别是什么?
- 什么是高阶组件 (Higher-Order Components HOC) ?
- state 和 props 区别是什么
- 什么是 Context 如何使用?
- 什么是渲染属性(render props) ?
- 什么是 React Hooks,它解决什么问题?
- 什么是 Reconciliation?
- 什么是 合成事件(synthetic event) ,它有什么作用?
- React Fiber 是什么,解决什么问题?
- React 中纯函数的概念是什么?
- React 和 Vue 有什么区别?
2.组件
- 构建组件的方式有哪些?
- 类组件继承 Component 和 PureComponent 有什么区别?
- 类组件 和 Function Components 的区别?
- 受控和非受控组件区别?
- React 有哪些内置组件?
- 说一下 Suspense 和 lazy 的使用场景?
- createPortal 了解多少?
- 说一下 ViewTransition 的使用 ?
- 组件生命周期
- 父组件如何调用子组件的方法?
- react 组件通信方式
- 请求在哪个阶段发出,如何取消请求?
- jsx 返回 null undefined false true 区别?
- JSX 如何渲染 HTML 注释节点 ?
- React.Children.map 和 props.children 的区别
- setState() 是同步还是异步??
- react 中的 key 有什么作用
- react 中如何引入样式
3.钩子
- React 内置了哪些 hooks ?
- 说一下 useState 的使用?
- 说一下 useRef?
- useReducer 的作用,和 useState 有什么区别?
- 说一下 useEffect?
- useLayoutEffect 和 useEffect 有什么区别?
- useCallback 和 useMemo 有什么区别,如何使用?
- useContext 的作用是什么 ?
- useReducer 和 useState 有什么区别?
- useInsertionEffect 有什么用?
- useActionState 和 useFormStatus 有什么区别?
- useDeferredValue 和 useTransition 的区别?
- useImperativeHandle 的作用?
- useSyncExternalStore 的作用?
- useOptimistic 的作用?
- useId 的作用?
- useDebugValue 的作用?
6.vue
3.组件
- Vue 的组件有哪些类型?
- 组件生命周期?
- 组件包含哪些核心选项?
- 什么是单文件组件, 如何使用?
- 有用过 `<script setup>` 吗, 它和 option 方式有什么区别?
- `<style scope>` 是怎么做的样式隔离的
- 什么是函数组件,和 JSX、渲染函数有什么关系?
- JSX 和采用单文件组件编写有哪些区别?
- 什么是异步组件,是如何实现的?
- 组件通信策略和方法有哪些?
- Vue 有哪些内置组件?
- Teleport 组件功能?
- KeepAlive 组件功能?
- component 元素了解么,它是如何实现动态挂载的?
- 讲解一下插槽的使用?
- 了解 Vue 组件的整个渲染流程么,如何处理挂载和更新的?
- Vue3 是怎么实现 template 支持多个根节点的?
- Vue 的 DOM diff 算法是如何实现的?
- SFC 是如何处理的
7.React Native
2.React Native
- React Native 工作原理是什么?
- 动画与手势应如何实现与优化?
- 布局与样式有哪些坑与最佳实践?
- 网络与离线能力如何设计?
- 调试与性能诊断如何落地?
- 本地存储方案如何取舍?
- 错误处理与崩溃治理如何做?
- 应用体积如何优化?
- Monorepo 与多包协作如何落地?
- 推送通知与消息到达如何实现?
- RN 状态管理如何选择与落地?
- 图片与资源加载如何优化?
- RN 测试体系如何搭建?
- Deep Link 与 Universal Link 如何落地?
- 权限与后台任务如何处理?
- 可访问性与国际化如何实践?
- 安全与数据保护的最佳实践?
- CI/CD 与构建交付如何设计?
- RN 的跨平台能力与局限是什么?
- 新架构 Fabric / TurboModule 与旧架构对比?
- RN 性能优化实战有哪些?
- 如何编写原生模块与原生 UI 组件?
- 导航方案如何选择与取舍?
- 打包发布与 OTA 有哪些要点?
- Hermes 引擎的价值与限制是什么?
- JSBridge 是什么?原理是什么?
8.小程序
9.engineering
8.杂项
- SEO 技术优化策略有哪些?
- eslint 该如何配置
- eslint 有哪些实用的插件, 该如何配置
- ESLint 如何集成到 webpack
- 如何定制化开发一个 eslint 插件,功能是实现提示检验某一个项目里面的字符串 error
- 请解释什么是 ARIA 和屏幕阅读器 (screenreaders),以及如何使网站实现无障碍访问 (accessible)?
- Polyfill 和 shim 有什么区别?
- corejs 是做什么用的?
- 描述 SEO 的最佳实践或你最近使用的技术
- 什么是 FOUC (无样式内容闪烁)?你如何来避免 FOUC?
- 请谈谈你对网页标准和标准制定机构重要性的理解?
- 日志监控:如何还原用户操作流程
- source map 可有办法将请求的调用源码地址包括代码行数也上报上去
- 如何做国际化?
- 站点如何防止爬虫?
- SemVer(Semantic Versioning)
- 如何在前端团队快速落地代码规范
10.compilers-bundler / webpack
- 有用过 webpack 或其他打包工具么,它们有什么特点解决什么问题?
- webpack 的主要配置项有哪些
- module、chunk 、output 的区别
- loader 和 plugin 是什么,有什么区别, 用过哪些 loader 和 plugin
- 如何写一个 loader
- 如何写一个 plugin ?
- webpack 原理
- webpack 输出的 bundle 是如何实现加载顺序不影响运行的
- 了解 tapable 么?
- webpack 优化
- 说下异步加载
- tree-shaking
- sideEffects 属性的作用是啥
- webpack externals 是如何加载外部依赖的
- webpack5 Module Federation
- webpack热更新原理是什么?
- webpack-dev-server 的功能
- source map 配置和原理