2021-08-08 19:40:51
转转前端一面凉经总结如下:
自我介绍与React基础懒加载:通过IntersectionObserver或loading="lazy"属性实现图片/组件的延迟加载。
代码分割:利用Webpack的SplitChunksPlugin或动态import()拆分代码,减少初始包体积。
资源预加载:使用<link rel="preload">提前加载关键CSS/JS,或通过Service Worker缓存静态资源。
CORS:服务器配置Access-Control-Allow-Origin响应头。
JSONP:利用<script>标签的跨域特性(仅限GET请求)。
代理服务器:开发环境配置Webpack代理,生产环境使用Nginx反向代理。
原理:通过window.onhashchange监听URL哈希变化。
特点:兼容性好,但URL中包含#。
原理:依赖HTML5的history.pushState()和popstate事件。
特点:URL更简洁,但需服务器配置(如Nginx的try_files)。
indexOf():返回字符串或数组中首次出现子串/元素的索引,未找到返回-1。
includes():返回布尔值,直接判断是否包含子串/元素。
无法直接判断是否包含(需额外比较!== -1)。
对NaN的判断失效(如[NaN].indexOf(NaN) === -1)。
区分大小写(字符串搜索时)。
团队技术栈与未来发展方向。
面试官对候选人的核心能力期待。
后续面试流程及时间安排。