前端面试一

213 阅读2分钟

这次面试共两轮,第一轮是线上面试,第二轮是笔试(其中也有口试跟代码查看)

口试

  • https使用什么协议,websocket使用什么协议
  • websocket不断掉线该怎么处理
  • 三次握手与四次挥手,为什么四次挥手比三次多一次
  • 防御xss攻击(上传文件)
  • 如何预防脚本运行
  • 如何渲染成千上万条数据(vue)
  • 首页加载慢怎么优化,有些代码没有引用的改怎么处理
  • seo(vue)
  • http与https区别
  • 跨域问题一般怎么解决,后端需要做什么修改,如果后端不处理前端需要怎么处理,jsonp具体怎么操作,反向代理
  • 用户输入url发生了什么
  • 大文件上传前端怎么处理,具体怎么实现,如何实现进度条
  • vue2的生命周期
  • vue2与vue3的区别
  • v-if,v-for 在vue3版本有什么区别
  • webpack常用的一些loader
  • webpack常用优化手段,项目打包很慢怎么解决
  • vue中有多个项目,不同项目之间的组件怎么共用
  • localStorage与sesionStorage
  • canvas绘图如何保存为图片
  • canvas绘图内容过多页面加载慢怎么处理
  • 怎样避免样式穿透
  • 后台管理如何实现动态菜单,按钮如何显隐
  • 排序算法,时间复杂度
  • 如何打包上线(版本管理)
  • Jenkins运作原理
  • docker
  • 图片压缩上传
  • 小程序支付回调响应
  • 高德地图导航
  • git上传代码冲突
  • app开发
  • react
  • 微前端
  • 之前的项目遇到的难点
  • 觉得自己有什么亮点
  • 未来的职业规划

笔试

  • vue3中v-model有什么新特性
  • nextTick的作用和使用场景
  • hooks和mixin的异同点
  • 函数组件优势和原理
  • vite相比其它构建工具的优势
  • 上传文件时如何防御xss攻击
  • 安卓设备众多,屏幕大小和分辨率各不一样,要怎么兼容
  • 有没有使用wexx渲染NVue等?能否谈谈他们的优势和适用场景
  • 当遇到应用卡顿或内存泄漏时,你通常如何进行调试和定位
  • 函数式调用的优势
  • 下列代码输出结果是什么
    function f1() {
            var sum = 0
            function f2() {
                    sum++
                    return f2
            }
            f2.valueOf = function () {
                    return sum
            }
            f2.toString = function () {
                    return sum + ''
            }
            return f2
    }
    console.log(+f1())
    console.log(+f1()())
    console.log(+f1()()())