• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

记录坎坷的面试

互联网 diligentman 7天前 9次浏览

提前批

依图一面

  1. axios请求封装,处理返回结果的方式(什么403 404什么的怎么处理?),传入函数参数,this指向
    记录坎坷的面试
  2. 存数据的是时候,本来是以数组的方式从别的地方传来的,但是你存数据的时候怎么存储才能让后续使用更便捷,让代码的复用性等性能更好
    记录坎坷的面试
  3. 事件轮询:宏任务,微任务
    记录坎坷的面试
  4. 数据扁平化,出现最多次数的两个数字
    记录坎坷的面试
  5. 遍历对象的几种方式
  6. 讲一下vue中的单项数据流:怎么才能触发model层的改变
  7. 兄弟,父子组件之间的通信方式
  8. 数组的typeof结果
  9. 发散性题目:
    n * n个小格的棋盘,如果用1 * 2的小格去铺,能铺满么? ->能
    如果随机扣除棋盘上的两个小格,再去用1 * 2的小格去铺,能铺满么? ->能
    如果棋盘为黑白格,1 * 2的小格也是黑白格,再随机扣除两个小格,能铺满么? ->不能
    总结规律…

依图二面(30分钟就结束了,80%会凉)

  1. 全程问项目
    • 项目难点,对项目从初始到完成的整体架构过程,怎么去思考的
    • JSONP跨域,JSONP的限制,其他跨域方式
    • 前端优化:减少HTTP请求你是怎么理解的
    • 浏览器缓存(HTTP缓存):从请求到最后的流程
    • HTTP2.0 ,HTTPS和HTTP1.0
    • 歌词播放高亮部分怎么实现的,是以行为单位还是字为单位
    • 移动端适配方案
    • 整个音乐播放器项目没有涉及到数据库存储么?
    • 你学习前端的过程,对未来实习公司的要求,对自己的计划
  2. 面试评价
    • 全程都是一问一答,不是我要的交流方式,我希望是交流,而不是问答,所以没办法继续
    • 很多东西都是在背你们所谓的面经或者答案,没有思考过程
    • 很多时候你给的答案都很奇怪 (我:奇怪这个词我听他说了两次…)
    • 我不知道你的答案或者项目哪些是自己独立思考的

作业帮一面

记录坎坷的面试

  • 附加:for in与for of区别,for in 遍历空数组空对象的结果
  • 原始值与引用值的区别
  • 数据深拷贝时候注意不同数据,考虑数组,对象
  • ES6的箭头函数
  • forEach等数组方法 跳出循环怎么做 ->抛出错误:throw new Error(“error”)
  • 围绕项目问的
    • 音乐播放器难点,怎么实现联想搜索的
    • 跨域的几种方式
    • 多级嵌套的dom结构,像ul>li>ul>li>ul等等多级嵌套,怎么优化,扁平化->什么什么redix,没听清
    • 前端优化
    • 几种存储方式的区别->localStorage/cookies/sessionStorage,如何拿到localStorage最新被修改的值? ->通过一个唯一的id,或者时间戳,或者token等等标示

作业帮二面

  • 运行结果
    记录坎坷的面试
  • 数组排序
  • 两个有序数组的合并,并排序,要求:不允许遍历
  • 千分位划分,不利用正则
    记录坎坷的面试
  • 动态规划,分红包:一共10个人,分完200元红包,每个人收到的 >= 10元,合理的分配方案
    只要求思路,不用写出来
  • CSS定位:position取值,给一段代码:画出位置
    记录坎坷的面试

阿里一面:电面

  1. 围绕项目:
    • 你在自己的项目中认为有挑战性的,难点是什么
    • 针对自己的说的这些难点,说一下自己是怎么做的
    • 这个项目是自发的项目还是有模仿的项目
    • 那个Node代理服务器怎么做的
    • 音乐数据获取完之后,后面的东西怎么开发
    • 获取腾讯数据的时候,假如有防止被外部获取的方法,你是怎么破解的
    • 你提到的JSONP,是用它来获取资源嘛?能简单解释它的原理和实现么?
    • 除了JSONP还有哪些跨域的方式
    • CORS具体怎么实现跨域的?
    • 知道什么叫RESFul协议么
    • CSS3有哪些能实现视图,位置移动的API,方法?
      transition解释一下,如果实现缩放怎么做?
    • 哪些行为会引发浏览器的repaint和reflow
    • 解释一下节流和防抖,应用场景
    • 之前你项目里说,通过什么API去定位到元素的(better-scroll的scrollToElement),这个API怎么实现的,考虑了么?
    • 关于路由这里你用的是什么?你知道Vue的路由么?路由两个模式区别
    • 你主要用了那些方面的懒加载,图片,路由懒加载怎么实现的,不用第三方,自己要怎么实现
    • mixin:什么叫mixin,什么叫继承,能不能完成相同的效果
    • JS怎么实现继承的,有哪几种方式
    • 整体的代码架构,模块化研发,你去如何思考的,你整体架构指的是什么,模块化指的是什么
  2. 基础问题
    • 如果用JS描述一棵树,这棵树的结构是什么样的
    • 树的分类:二叉树,完全二叉树,红黑树等等
    • CSS样式清除浮动
    • 设计模式了解哪些?你有没有用过?用在哪些方面,常见的有哪几类
    • 项目的工程化解决方案是什么?Webpack,Vue-cli脚手架什么的
    • 你如何去理解Webpack中的bundle,chunk,module,loaders
    • Node服务器运维有了解过么,React有了解过么?
    • Vue2.0 引入了一个Virtual Dom,你认为它引入到Vue里面,对Vue来讲有什么价值,引入的目的是什么?
    • Over,你有什么要问我的?
      整体不错,基础问题不大,但是多思考多实践部分应该多思考,能了解一下面上的知识后面的原理,我们要看的是你对项目整体架构的把控与设计,多从原理角度去考虑问题

蘑菇街一面

  1. 实例的原型是什么的?(构造函数的prototype) 构造函数的原型是什么?(对象)
  2. 平时用什么方式获取数据,说几个常见的HTTP状态码
  3. 基本类型,引用类型区别,写一个深拷贝(只传入一个参数)
  4. 项目难点
  5. 组件的更改触发哪些生命周期函数,说一下这些生命周期都做了什么事,例如首先判断哪些结点,key值什么的
  6. Vue双向数据绑定,原理,实现
  7. map,weakmap区别(从性能方面考虑)

深信服一面

  1. 浮动的场景,清除浮动的应用场景,举几个栗子
  2. DOM事件流
  3. 并发优化(不是那些通俗的性能优化,这是一个单独的点)
  4. 跨域,不需要另一端配合的,举出几种方式
  5. HTTP协议缓存
  6. 单项链表的反转
  7. 100个格子,10个雷,怎么实现每个格子有雷的概率都是1/10
  8. async/await,错误处理
  9. 盒模型

深信服二面

疯狂说项目,问我很多印象深刻的点,难点,亮点
有没有看过别人源码,有没有感兴趣的技术点,最近这些技术点github上有没有更新
最后寄语: 最重要的是,你要对这个行业感兴趣

腾讯一面

  1. 你做项目的时候,怎么去启动一个本地服务,项目后来上线了么?
  2. 项目你怎么获取的数据
  3. jsonp原理
  4. img的src可以做跨域操作么?和script的src有什么区别呢
  5. 除了jsonp还有其他方法实现跨域么
  6. 使用jsonp跨域会引起网页的安全性问题么?
  7. 前端经常遇到的安全性问题都有哪些,你做项目考虑到什么安全性措施了么,怎么防止别人窃取
  8. ES6有使用哪些新特性呢?平常使用的比较多的有哪些?
  9. let和var有什么区别呢
  10. 以前如果想要使用块级作用域,我应该怎么做
  11. 闭包是怎么形成的呢,形成的条件,原理,为什么会形成这样的现象
  12. 平常用js有遇到过内存泄露的问题么?
  13. 怎么防止内存泄漏呢?怎么解决呢?
  14. 你了解JS引擎的垃圾回收机制么?
  15. 现在的一般的回收机制是哪种?
  16. 标记清除法有什么缺点么?
  17. 面试评价:基础可以,知识面还是挺全的,感觉你没能把知识串联到一起去

美团一面

  1. 手写防抖函数
  2. 怎么判断dom元素是否在dom树中
  3. 怎么判断dom元素是都在页面可视区域
  4. 手写一个洗牌函数
  5. cookies怎么设置过期时间,cookies和localStorage区别是什么
  6. 在项目中怎么存储用户登录或者离线状态的
  7. 比如ajax请求网页,然后返回302的状态码怎么处理?答案:ajax异步请求302分析
  8. 上下定高,中间自适应怎么实现
  9. cookies在跨域中可以携带么?
  10. 图片懒加载怎么实现的
  11. jsonp跨域原理,实现
  12. Vue2.0的双向绑定,有什么缺点,怎么改进(vue3.0的proxy)
  13. ES6的map,set有什么区别
  14. 实现数组的去重,不用newSet,除了indexOf,有没有别的办法判断数字是否在数组中
  15. 移动端适配,方案,你用的什么方案,你的viewport怎么设置的,rem和em区别

美团二面

  1. 谷歌调试怎么实现的,就是那个我可以选中元素的功能,还有一个功能就是蒙层那个
  2. 手写js深拷贝,如果最初传入的是数组或者对象,或者基本类型怎么处理
  3. 手写LRU实现,要求存取时间复杂度为O(1)
  4. 讲一讲重排和重绘,应用场景,发生重排重绘的时机,哪些改变会触发重排,哪些会发生重绘,rendTree的作用是什么?
  5. cookie session区别,sessionId存在哪里?
  6. http中包括啥子,cookies放在哪里
  7. ajax中传递数据在哪个api中
  8. jsonp原理 如果我后端定义好了callback的名字,那么在很多接口发送请求的时候,callback还都一样,我怎么确定那个是我自己发送的请求?不改变接口的情况下

美团复试面

  1. 项目难点,有成就感的事情是什么? 对考研怎么看?
  2. 一道题说思路,列表达式
    大致意思就是给定一定数量的石子,两个人轮流来捡石子,一次可以捡一颗石子,或者两颗石子,谁先开始不确定,问最后谁会赢?(我:就是对3取余的故事,面试官:思路很接近,然后就没有然后了)

百度一面(电话)

  1. 项目用到了那些技术
  2. 遇到问题从技术角度讲是如何解决的
  3. 比如说利用vuex没法实现持久化,选择了localStorage,但是Vuex也是可以实现持久化的,你了解过么?
  4. JSONP使用场景和代理的使用场景
  5. 为什么JSONP可以解决跨域问题
  6. src请求的所有资源都可以被同源请求策略限制么
  7. 介绍一下Vue,以及你对Vue的理解
  8. 你个人觉得你再前端方向的闪光点是什么呢?或者说你在哪些方面各有所长呢?
  9. ES6了解多少,箭头函数和普通函数区别
  10. let和const与var区别
  11. ES6的类在浏览器肯定经过编译,降级等等,为了保证这种兼容性肯定是从ES5/ES6降级到ES3,这个过程肯定做了很多转化工作,所以我想问的就是ES6转化为变成了什么东西
  12. 你的项目大约写了多少行代码
  13. webpack在你的项目中扮演了是什么样的角色,压缩是由webpack来做的么?
  14. 前端的模块化
  15. webpack遵循的哪个模块化标准呢?
  16. 你现在去写一个模块,遵循AMD规范,实现的功能是统计当前页面内所有的标签种类及个数
  17. 从你的角度来讲,你自己比较擅长的东西,
  18. 面试评价:每次把一个东西看透再去看下一个

360一面

  1. 原型,原型链
    记录坎坷的面试
  2. 宏任务,微任务,还有哪些
    记录坎坷的面试
  3. promise,await/async区别,说说promise
  4. ES6解构赋值,isArray是ES几的api
  5. 变量声明几种方式,区别,你什么时候会用const。什么时候会用let
  6. webpack的plugins和loaderd区别,你用过哪种
  7. webpack你想过优化的问题么,在项目里你怎么优化的
  8. 手写一个节流防抖
  9. 判断数组的几种方法
  10. call,apply,bind的区别,你写项目的时候应用场景有哪些,什么时候需要改变this指向
  11. 跨域,解释,几种方法
  12. CSS的flex几种属性值,代表什么,兼容性呢?
  13. Vue如何实现响应式(具体的双向绑定怎么实现的)
  14. Vue中的方法和计算属性(computed)区别
  15. 数组中某一项的值的改变,Vue能检测到么?
  16. 你项目中的lodash怎么按需加载
  17. 了解fetch么
  18. 使用过ajax么
  19. 事件委托原理

360二面

  1. undefined,null区别
  2. 原始类型,引用类型,赋值,区别
  3. 宏任务(setTimeout里面函数的执行顺序),微任务执行顺序
  4. 原型链判断,实例是否能改变原型链上的值
  5. 数组扁平化
  6. 声明变量的几种方式,有什么区别,还有什么方式,(let var const import func等等)
  7. 图片路由懒加载
  8. 项目在移动端能运行么?怎么启动的服务

Shopee

  1. 项目难点,简要介绍
  2. 将两个数组合并,并且去掉重复值,比如[1, 2, 3], [2, 3, 4]得到的值就是[1, 4],个数就为2,写一个函数实现
  3. 函数节流防抖,手写
    • 改进:要求节流:在一定时间内点击多次的话,在执行节流函数的同时,执行最后一个点击的函数,就是,正常我在一定时间内点击的话,不是只会执行一次么,剩下的函数全都撇掉了,我要求就是,把那些函数中的最后一次进行执行
  4. 盒模型:下面这个怎么实现的,如果我要求图片和文字都垂直水平居中怎么做
    记录坎坷的面试
  5. 单行,多行文本溢出,打点显示
  6. 解释SSR,说一说其他优化的方式
  7. Webpack打包最后生成几个文件?
  8. 你项目中获取的QQ音乐的数据,那么如果是你的话,怎么去防止别人获取你的数据,你的方法有什么

shopee二面

  1. 对于两个或者多个链表的合并,优化,时间复杂度
  2. 二分查找某数组中第一个大于给定值的元素
  3. get/post区别,tcp/udp区别,http1.1的长连接
  4. https原理
  5. 常见的设计模式,单例模式说一说(多线程的问题怎么解决,怎么保证同一时间只有一个线程在工作?(利用操作系统中的加锁))

shopee三面(高高兴兴等hr,结果是技术面?我已经半个月没学过习了!!!)

  1. 单行文本溢出怎么处理,css怎么做,如果用JS怎么做?
    • 答:获取文本宽度?获取视口宽度,小于某个值显示文字,否则显示省略号
    • 问:font-size获取的是文字的宽度还是高度?
    • 答:高度,无法获取宽度
    • 问:那你怎么做呢?怎么获取文字宽度?如果获取到了文字宽度你要怎么实现省略号显示?
    • 答:每填充一个文字,把文字宽度累加,小于某个值,正常显示,否则显示省略号
    • 问:时间复杂度是多少?
    • 答:O(n)
    • 问:怎么降低时间复杂度?
    • 答:一半一半放?
    • 问:怎么一半一半放?
    • 答:…,不知道
    • 问:可以通过啥啥啥
  2. 输入url到页面显示经历了啥?
    • 答:通过啥啥啥
    • 问:回流,重绘说一说
    • 回答:概念,影响因素啥啥啥
    • 问:script标签加载文件对页面渲染有什么影响?
    • 答:阻塞啥啥啥,可以通过defer和async异步加载
    • 问:defer和async区别,css文件放在首部还是底部,为什么有什么好处?js呢,啥好处?
    • 答:吧啦吧啦
  3. 如果实现动画,用什么实现?
    • 答:translate
    • 问:translate会造成重绘么?
    • 答:应该会吧,不太知道
    • 问:你知道left么,也可以实现动画,不过它和translate的优缺点比较,对于页面性能来说,哪个好点?
    • 答:不知道,我猜是translate更好一点
  4. 虚拟列表的实现
    • 答:可视区域正常显示,上下预留一部分,避免出现空的状态
    • 问:你这种实现很困难,细节方面等等,可以通过改变数据,然后不改变dom进行操作(我…,原来你想问的是这个…),然后把看不到的区域部分数据放在列表底部,加载到时,继续显示。
  5. 你对陌生的环境,全英语的环境可以接受么?(可以,绝对可以),后续进度等通知,我们会尽快走进度(感觉要凉,听到你回去等消息这几个字就感觉差不多要凉了,呜呜呜,哭死…)

猫眼电话一面

  1. 项目简要介绍
  2. 登录用户状态怎么存储的,知道cookies和session区别
  3. Vue中vkey作用,知道diff么,能往深了说说么
  4. Vue双向绑定解释一下,Ojbect.defineProperty用到了哪些属性,(get, set)哪里用了,干什么的
  5. HTTP缓存,当强缓存失效之后,协商缓存里哪个有效,如果强缓存失效,然后协商缓存生效的话,返回哪个状态码?
  6. HTTP状态码,4xx,5xx
  7. ES6用过哪些
  8. 宏任务,微任务,执行顺序,有哪些是宏任务,哪些是微任务
  9. position的值,哪些脱离了文档
  10. JS中监听滚动事件是哪个 ,绑定事件的方式
  11. JS事件委托原理,事件捕获是怎么样的,(不懂她要问什么,我说从window往父元素往子元素,她的语气很微妙…,谁知道她要问什么)
  12. 闭包的原理,闭包应用场景
  13. 题:
    记录坎坷的面试
    记录坎坷的面试
    记录坎坷的面试
    记录坎坷的面试

正式批

映客直播一面

  1. 介绍一下JS中的事件吧,关于事件冒泡的应用场景有哪些?如果不用冒泡,怎么绑定事件?如果在Vue中绑定事件,是在ul还是li身上?为什么?
  2. 移动端调试的方法,假如我移动端打开时候白屏了,怎么调试
  3. 原型链:_ _ proto_ _, prototype, constructor,判断指向等
  4. 继承的几种方式,优缺点,为什么会有这些问题,最后为什么要用一个function在中间进行协调(子继承父,子改变,父不改变,为什么?中间能说具体一点么?)
  5. 结果
    记录坎坷的面试
  6. 前端优化的方法
  7. webpack的配置介绍一下,entry里面有什么,从项目的搭建,到最后项目上线中间你怎么用vue-cli配合webpack进行工作的
  8. 常见HTTP状态码:…,304具体是怎样的,浏览器和服务器交互过程中是怎样返回这个值的?301,302又是怎样的
  9. 创建事件的几种方式:如果我此时有一个事件,有什么on,emit啥的,从定义事件到最后调用,结束,能写出来么?
  10. Vuex的数据流动介绍一下(官网上的图就有,我没答上来)
  11. 跨域的几种方式,CORS具体是怎么配置的,要求讲的特别细!!!把浏览器怎么请求到最后怎么返回都给讲清楚

奇安信一面

  1. 原型链,反正就是proto,prototype那些东西,问了Person.a = ‘a’(Person是构造函数),通过Person构造出的实例会不会继承这个属性
  2. HTTP相关,跨域相关
  3. 手动转换一个进制,笔试题的优化(我也忘了啥题了…)

奇安信二面

  1. 项目里的难点,如果打开多个标签,一个更改了vuex中的内容,一个怎么保证另一个实时更改
  2. 求两个数是不是互质(除了1没有共同因数)
  3. 简历里面写的数据与逻辑分离指的是什么?项目里的序列化指的又是什么?
  4. 你认为你自己的优势在哪里?
  5. 节流防抖你怎么实现的,应用场景,debounceI什么时候调用

作业帮现场一面

  1. 原型链,作用域链,instanceof手动实现
  2. await相比promise的优势在哪里,await后面等待的是什么,是promise的哪个状态
  3. 扩展运算符相比直接传递参数有哪些优点
  4. ES6了解哪些
  5. 项目技术栈难点
  6. 解释一下SSR,好处
  7. HTTP相关的,浏览器缓存的通信过程

作业帮二面

  1. 轮播图实现原理,如何
  2. 懒加载原理
  3. 操作vuex的步骤,手写
  4. css盒模型
  5. 剩下的…我忘了…

vipkid

  1. better-scroll中的better代表了更好,那么问:为什么比原生js好,好在哪里,你自己怎么实现这样的功能
  2. 图片懒加载原理,自己怎么实现,如果图片的高度未知,抖动情况怎么处理
  3. setInterval怎么实现,如果是你,你怎么实现
  4. 你项目里的audio原生样式你怎么处理的,你在做这部分的时候,有哪些比较难的地方
  5. vuex你主要用它干了什么
  6. vue路由原理
  7. axios请求返回的是什么,是一个标准还是正常的promise么?(啥叫标准的?),行这个问题过了
  8. 移动端适配的方案,如果我一个页面左右内容,左边内容非常多,但是如果此时页面很小就放不下了,这时要怎么解决???
  9. audio的原生样式你是怎么处理的

拼多多二面

  1. Vue解析,从 .vue文件到浏览器最终呈现过程(Vue解析过程,补充一下源码!!!)
  2. HTTPS具体原理,MD5是非对称性加密算法么?考虑一下MD5原理
  3. Vue-router原理,hash怎么跳转的,调用的什么方法,我:locations.hash?,然后继续了下一个问题
  4. webpack中的loaders,plugins是什么,干什么的,你用过哪些具体说明
  5. Vue数据检测内部怎么实现的,getter,setter中都做了什么
  6. 从后端获取的数据,怎么实现所有组件都使用,(Vuex, localStorage, sessionStorage),还有别的么?
  7. 父子组件通信
  8. Vue能对于监听到数组的改变么,那怎么实现监听?我:vue.set,那具体怎么实现的?我:用vue.set啊,然后继续了下一个问题
  9. 实现代码
    记录坎坷的面试
    • 第二个题:求和之后双向指针 进行向里遍历
    • 自己想想有没有别的方法!!!
  10. 网页滥用div或者p标签的有什么缺点
  11. HTTP,TCP/UDP属于哪一层的协议
  12. 电脑端微信 按上下键,右侧窗口的改变怎么做到的
+  innerwidth  innerheight来改

花椒直播

  1. setTimeout/setInterval返回值
  2. node中event实现
  3. ES5继承 能具体再说一下么
  4. 数据格式的返回值 除了json还有么?
  5. ajax那个监听:也就是onreadychange事件,除了这个事件还有什么别的方式么?
  6. 防抖、节流、懒加载
  7. JSONP除了:url ,callback的另一个参数是什么?
  8. jsonp 原理, 实现jsonp的过程中,创建好的script放在哪里?
  9. 如何设置localstorage 或者cookies的值,说说你了解的cookies
  10. proxy用过么?具体讲讲
  11. 手写 发布者订阅者模式
  12. 移动端适配方法,你项目中怎么设置rem(我:就是相对于根元素的大小),那么根元素字体大小怎么设置,除了rem还有什么其他单位么? 除了em px ,还有么?

跟谁学一面

  1. 图片格式有哪些 webp了解过么?(我也不知道他说的是啥,我听成了webpack,然后说了一顿webpack相关的)
  2. ES6中的数组的api有哪些,手动实现filter
  3. vue-router的原理,hash模式是怎么监听hash的改变的(我:hashChange? 面试官:可以,还有别的了吗?我:…)

跟谁学二面

  1. 项目难点(一顿扯皮)
  2. 用加减乘除求根号2小数点后三位(提示我用二分)
  3. 给定链表头结点 求倒数第n个结点的值,如果第n个结点不存在,容错考虑到了么?

老虎证券一面

  1. action mutations 区别
  2. 正则
  3. mixin ,如果mixin中定义的方法,这个组件中也有,怎么过程?
  4. webpack 代码分割的三种方式 (import)
  5. webpack的打包后bundle分为几种
  6. 父子组件通信除了那些还有个root
  7. babel-loader转化原理
  8. git的三大分区, git提交的流程
  9. Vuex说一下
  10. 虚拟dom原理,为什么要引入虚拟dom?虚拟dom一定效率高么?
  11. 模块化:用法,优点
  12. Vue的createElement
  13. 说一说常见的状态码,206是什么?
  14. 判断是不是空对象

老虎证券二面

  1. 用Vue实现一个弹出框组件怎么实现
  2. 本地存储的几种方式,区别?应用场景?如果刷新页面,或者我跳转之后返回,这两种情况sessionLocalStorage会改变么?
  3. 同源策略是什么?跨域方式?如果使用CORS,我使用post方法,并且改变了我的请求啥啥(我忘了),那么我请求前需要处理什么东西么?
  4. http请求方法? options是什么?
  5. 数组去重
    记录坎坷的面试
  6. 实现一个函数 打印树形目录
    记录坎坷的面试
  7. mongobd的啥啥啥,我也忘了
  8. CSS选择器优先级

北森云一面

  1. 路由,怎么传参
  2. 路由的钩子函数
  3. 自定义指令使用的场景
  4. 我在自定义指令里面可以做哪些事情呢?
  5. 如何定义自定义组件不去覆盖别的样式
  6. 怎样全局引用某个组件
  7. 怎样动态加载组件
  8. 手动清除闭包引起的内存泄漏

58同城现场一面

  1. 手写防抖实现
  2. 怎么判断一个对象的属性中是不是有指向自己的引用

58同城现场二面

  1. 宏任务微任务判断执行顺序
  2. 实现一个函数能够完成下面的功能,(考虑一下深拷贝的递归)
    记录坎坷的面试
  3. 选出ul中的第二个li,用css属性选择器
  4. 如果设置第二个li为{position:relative; top: 50px;},那么第二个li的位置和第三个li的位置是怎么样的,relative脱离了文档流了么?
  5. 防抖原理,节流原理
  6. 剩下的我忘了…,应该就是扯皮了

人人一面

  1. vue组件通信
  2. keep-alive触发的完整生命周期包括哪些
  3. SSR的时候没有document,window,如果和原本的document或者window撞了怎么办?(通过nuxt的一个api,判断是否有那个变量,如果有就不引入插件,如果没有就引入插件,我也不知道是啥)
  4. nuxt的生命周期
  5. webpack基本配置,你用过哪些loader
  6. npm原理了解么?
  7. vue啥往后没有config目录,你要怎么配置webpack文件?(通过新建一个vue-config文件)
  8. 移动端适配你是怎么做的,flex你用了啥?viewport你怎么配置的,它用来干什么的?
  9. git pull 和git fetch区别?你用过什么命令
  10. 后端是用node?(不是,没咋用node,数据方面使用的是mongodb数据库)
  11. 你用过哪些插件,封装了那些插件呢?
  12. 如果有一个插件,有头样式,但是:我并不想要这个默认样式,我怎么做呢?
    • 我:设置默认值,通过传入的参数么,决定是不是要使用某个功能
    • 面试官:我知道你的意思,但是我不想这么做,换一种方法(好像他是要考一个考点,但是我忘了…)

网易雷火

  1. vue的单向数据流,什么作用,好处,和双向数据绑定得区别
  2. vue的双向数据绑定,说一说怎么回事(我说了一大堆,数据劫持结合发布者订阅者啥的,什么observer,watcher等等的创建,面试官:你说的其实是响应式的内容,那么你对响应式是怎么理解的???)
  3. 闭包:形成条件,用它来做什么?(闭包:大致意思就是把内部函数返回,可以实现:模拟块级作用域,变量私有化)
  4. 返回的一定是一个函数?
    讲一下块级作用域,JS中有几种作用域
  5. 闭包是怎么模拟块级作用域的?它不是在一个函数内部么,它是一个函数,为什么会是块级作用域?你理解的块级作用域是什么?
  6. 在一个for循环中使用闭包是因为它让这个for循环拥有了块级作用域才保存住了它的变量的?
  7. 闭包为什么会引用外部函数的内部变量?(我:源于作用链)
  8. 作用域链和作用域是什么关系
  9. 你知道JS中哪些可以生成块级作用域么?
  10. 一个函数作用域为什么要去模拟块级作用域,你理解的块级作用域是什么,JS中哪些可以生成块级作用域(这应该是她说的第二遍了)
  11. 怎么样算是一个块级作用域
  12. let const定义的变量和that(我听到怎么是that???还是var?我也不确定)区别?
  13. const可以定义变量么?
  14. 你刚刚说var定义的变量是全局作用域,这句话真的是对的么?如果我在函数中定义,那么外部能访问到么?
  15. 变量提升是什么样子的?比如下面三种方式,然后在声明之前使用的话,结果都是什么?为什么是这样的结果?function a 和var a = function 结果为什么是不一样的???
    • function a(){}
    • var a = function(){}
    • var a
  16. 那你能给我讲一下变量提升是什么样子么?
  17. 你使用过node是么?(我只是node做一个简单的代理,改变获取数据时候的referer和host)
  18. 你用它做代理的目的是为什么?
  19. 那如果你不用node怎么实现?实现代理,改变请求头?
  20. SSR你是用的什么?你的SSR技术是怎么实现的,为什么在你的项目中要使用SSR呢,你经过SSR拿到的是一个数据,还是完整的html,因为你用的那个nuxt是一个前后同构的框架,你是怎么把html渲染到页面上的呢,前端的template怎么和vue的template合在一起的????
  21. 结合你之前说的响应式,那么你在前端操作数据的时候,怎么让页面上的html继续变化呢,比如说首页用户提交了表单之类的 ?
  22. 换一种说法,你前端的vue或者说template怎么和后端返回的填充好的数据的html融合在一起使用(源于之前说的SSR)
  23. 那后续的渲染还是服务端渲染的嘛?如果说你的数据变化了,举个例子:本来你的商城有5个商品,然后由服务端渲染之后,给你5个商品,但是,你后续又添加了一个商品,那么增加的这个商品,是直接后端渲染好返回过来的,还是后续请求的(我:后来请求的),那么:服务端给来的html片段,和后来浏览器请求数据渲染出来的那个template,它们俩个是怎么融合的呢,是直接丢弃了原来服务端的么?还是说 第一次渲染是怎么知道要用服务端还是浏览器端渲染?
  24. 一个url输入到最后拿到网页的过程?最后浏览器是怎么渲染的(我:domtree,cssom tree … 最后绘制),你能想到其他的什么了么?如果在这个过程中,你的网页变的特别慢,你有什么优化的方案么?(我:前端优化一顿说),那么你说的这些你在项目中用到过哪些(我:图片懒加载,啥啥啥的),图片懒加载原理,你通过哪些api进行计算高度的(clientHeight,scrollTop等等)
  25. 你对html语义化的理解(我说了一点语义化的优点:有利于搜索引擎什么的),你使用过哪些语义化标签呢 ?你为什么要用header,footer等等,你为什么不用div,它们的样式有什么区别么?
  26. 你使用过canvas么?笔试时候,那道题怎么做的(给定图片的什么高度,坐标啥的,截图?,我忘了)

雷火二面

  1. 你是怎么写的苹果安卓不同端适配,移动端兼容方案?你使用的是rem还是em或者px?你在做移动端项目的时候,有碰到过兼容适配方面的问题么?(答:1px,fastclick啥的,不知道对不对)
  2. axios和ajax,fetch区别
  3. 前端路由模式,原理
  4. ES6的proxy干嘛的,说说
  5. import和require区别
  6. mysqllinux了解多少,更新表中id为1语句怎么写
  7. webpack插件说一说,html-webpack-plugin干嘛的(答:压缩,回:错了)
  8. http和https区别,https加密验证原理
  9. 将元素旋转90度,怎么做?(CSS3的rotate)
  10. 暂时就想起这么多了 。忘溜。。。。

哔哩哔哩

  1. 项目中的SSR,有什么好处?
  2. nuxt框架和vue-cli区别,对于使用上来说有什么不同么?
  3. webpack打包好处有哪些?
  4. 你认为element-ui和vue在你项目中是什么样的作用呢?
  5. Sass你用什么,相比css优点有哪些?
  6. JSONP跨域
  7. 手写代码:
    记录坎坷的面试
  8. 剩下的再补充,enmm我忘了…

陌陌一面电面

  1. 常见的http请求头,介绍几个,请求头还是返回头,分别什么意思,options的含义
  2. 为什么会有跨域的问题,解决方式,分别的原理,jsoup和cors的区别,哪个能携带cookies?
  3. CSRF和XSS攻击,防御介绍,CSRF的防御中那几种方式都可以伪造么?
  4. 常见http状态码
  5. cache-control能介绍两个常用的值么?no-cache什么意思,和no-start(我也不确定我听到的是啥) 区别?cache-control一般后面有个数字像6000什么的都代表什么意思
  6. get/post区别
  7. axios对请求有拦截器,了解过么,你要是自己写一个拦截器的思路是什么
  8. 你知道什么是SSR么?SSR优点有哪些?
  9. JS有哪种基本的数据类型么?(基础6种,引用好多种)分别都说一说,基础有什么?引用有什么?说一说symbol
  10. promise了解过么?
  11. 什么是eventloop ?有哪些宏任务?微任务?promise.then是哪种?promise为什么new完之后立即执行?
  12. 你一般通过什么渠道去了解前端相关的知识
  13. 最近看的一篇技术文章是什么?
  14. 了解过小程序么?(没有…)

实习面试之酷家乐、快手等:

  1. webpack具体打包流程
  2. 数据结构都用于什么场景
  3. watch和computed区别
  4. 为什么data是对象不是数组等
  5. js实现reduce
  6. 跨域方式,讲一下jsoup,缺点有什么
  7. promise,async和await(async里面的什么是同步的还是异步的)
  8. es6新增数组方法,map和filter和forEach等返回值
  9. v-if和v-show区别
  10. vue生命周期函数
  11. 浏览器缓存,协商缓存和强缓存区别
  12. v-slot
  13. v-for中key有什么用
  14. vue版本,改动
  15. vue-model的替代
  16. 过滤器,插件,组件,三者定义,引入方式,应用场景
  17. vue-router的两种模式的区别
  18. keep-alive和mounted与activated的执行顺序
  19. 关于 [1,2,3]map(parseInt)问题的解析
  20. async/await的错误处理方法总结与优化
  21. instanceof js怎么实现的
  22. 盒模型,sessionStorage,cookies等区别
  23. 伪类,伪元素
  24. css布局
  25. canvas和svg
  26. 组件之间通信,父子,动态组件,兄弟…
  27. 多个标签之间的通信
  28. dom创建新结点, 查找结点
  29. 子div在父元素中水平垂直居中
  30. h5相对于h4新增的一些东西
  31. 箭头函数
  32. let,const和var区别
  33. 多标签之间相互通信怎么办
  34. 区分数组对象
  35. [1, 2, 3, 4].map(parseInt) = ?
  36. 创建组件有几种方式
  37. 项目的路由跳转用没用#,就是一共有两种方式什么的
  38. vue2.0和vue1.0版本改动很多,具体我再找找
    我了解
        vue1.0中prop是双向的,vue2.0是单向的
        vue2.0有虚拟DOM,vue1.0没有
    

喜欢 (0)