面试之JS

  • JS
  • 框架
  • 浏览器

JS基础

Promise 串行请求,all,race,finally

柯理化,JS中柯理话的API

缓存,浏览器缓存原理,阶段

webpack优化,写过loader和plugin

  • DLLPligin

网关作用

JSBridge的原理

模块化区别 ES6模块化和 CommonJS

localStroage有效期

图片懒加载实现,获取节点相对视图位置方法

无限加载实现

轮播图实现


框架

在架构前端项目时,关于技术选型,应该怎么从vue、react、Angular选择

技术选型考虑因素

  • 框架使用场景,解决问题,生态系统,跨平台性
  • 团队技术能力
  • Angular 适合较复杂的SPA应用,比如工具类的应用就比较适合,Angular 属于大型框架,各个模块比较完整,提供的工具、扩展也比较丰富,适合沉淀大型项目,但上手成本高。
    • 是一个完整的框架拥有良好的项目结构。完善成熟的框架。
    • 拥有自己的构建工具。Angular-CLI 使用打包编译,生成组建等都有相应的命令行,非常方便便捷。虽然 React 和 Vue 都有相应的构建工具,但是局限性很大,需要配合其他构建工具。
    • 体积较大。加载较慢。build包太大,导致首屏渲染慢。
    • 学习成本高。ng2使用ts语言,且与ng1完全不同。
    • 生态系统庞大。
    • 优化:所有模块按需加载,精简项目依赖,build生产版本,服务器开启 gzip 压缩。
  • React 适合对性能要求较高,且兼容移动端的产品,RN之类的应用还是比较广泛,移动端使用较多吧,会的人也多,上手不算太复杂,但学习曲线陡峭,得有好的架构师带领。
    • 灵活性
    • 生态强大
    • 跨平台优势大。React Native, React, Redux。
    • 使用 JSX,后期维护性差。
  • Vue 适合增删改查类的管理系统,H5内嵌页、小程序之类的,这种应用改动频繁,人员流动性可能较大,上手容易,综合成本较低。
    • 灵活
    • 实用。数据绑定、计算属性、组建等功能。
    • 体积小
    • 性能好
    • 无法支持移动应用。

React 和 Vue具有很大的相似指出:两个框架都专注于视图层,其他功能如路由和全局状态管理都交给相关的库。都是用虚拟DOM。提供了响应式和组件化的视图组件。

dom-diff,为什么要虚拟DOM

vue 双向绑定

vue 异步组件

vue keep-alive, 为什么数据修改要有 activated 生命周期

系统设计

秒杀系统

##浏览器

首页性能优化,白屏优化

CDN缓存与客户端缓存

TCP协议(TCP、UDP)

SQL注入,XSS攻击和CSRF攻击,原理,预防方法

跨域,CROS兼容性,设备不支持

http/1,http/2,http/3,多路复用和keep-alive、pipelining区别

HTTP状态码

  • 1XX: 表示请求成功,要求客户端继续提交下一次请求才能完成整个处理过程。
    • 100
  • 2XX: 表示成功接受请求并已完成整个处理过程
    • 200
    • 201
    • 202
  • 3XX: 重定向
  • 4XX: 客户端请求错误,包括语法错误或者不能正确执行
    • 401
    • 402
    • 403
    • 404
  • 5XX: 服务端请求错误
    • 501

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×