高阶面试题

webpack面试题

面试题:webpack插件

Git面试题

面试题:git常用命令

面试题:解决冲突

面试题:GitFlow

面试题框架篇

微信小程序面试题

面试题:如何自定义头部?

app.json进行配置

"window":{
    "navigationStyle":"custom",
}

面试题:如何自定义底部?

uni-app面试题

面试题:生命周期

应用生命周期、页面生命周期、组件生命周期

面试题:条件编译

在工具中,打if出现的条件编译

例如:
<!-- #ifdef H5 -->
    <h1>这是h5端</h1>
<!-- #endif -->

面试题性能优化篇

加载优化

1. http请求
     能不能减少(能不能合并)
2. 图片的雪碧图
3. script标签位置
4. link标签(css引入)

图片优化

1. 图片懒加载
2. 响应式图片
3. webp代替其他格式
4. 小图标可以改用字体图标

渲染优化

1. 减少重绘和回流
2. 改变位置使用transform
3. 动画尽量用requestAnimationFrame,不要用定时器

首屏优化

1. 长列表
2. 项目的html文件、css文件、图片、js文件压缩打包

vue优化

  1. keep-alive 缓存组件
  2. 路由懒加载
  3. 内容使用
    v-if和v-show
    computed、watch、methods
  4. Object.freeze :冻结对象
    纯展示类的接口数据,冻结就可以了
  5. 使用ui组件按需引入

面试题兼容篇

页面样式兼容

1. 在ios键盘中首字母大写的问题?
        <input type="text" autocapitalize='off'>
2. ios日期转换NAN问题
        具体就是,new Date('2020-11-12 00:00:00')在ios中会为NAN
        解决方案:用new Date('2020/11/12 00:00:00')的日期格式,或者写个正则转换
3. 在移动端使用click事件有300ms延迟的问题
        禁止双击缩放===》meta:user-scalabel=no
4.  移动端touch事件有穿透(点透)的问题,怎么解决?
        4.1 阻止默认行为 : e.preventDefault();
        4.2 fastclick.js
5. 安卓部分版本input的placeholder偏上
        input{
             line-height:normal;
        }

框架兼容

面试题网络请求篇

跨域面试题

前端:jsonp、vue的项目可以设置代理(打包后无效。解决:.ENV文件)
后端:CORS

http和https

1. 端口不同

  http :80端口
  https :443端口
  
2. https比http更加安全
  
  ***https就是证书

WEB安全篇

XSS攻击

用户输入的文本框,需要替换某些特殊字符( <> ... )

SQL注入

用户输入的文本框中不可以有特殊符号( 引号、空格 )

接口安全

第八章 其他类面试题

    8.1 token

    8.2 SEO

推荐阅读更多精彩内容