记录坎坷的面试

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/LFY836126/article/details/98621500

提前批

依图一面

  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双向数据绑定,原理,实现

深信服一面

  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. 遇到问题从技术角度讲是如何解决的
  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音乐的数据,那么如果是你的话,怎么去防止别人获取你的数据,你的方法有什么

猫眼电话一面

  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相关,跨域相关

奇安信二面

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

作业帮现场一面

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

vipkid

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

猜你喜欢

转载自blog.csdn.net/LFY836126/article/details/98621500