2022前端面试经历(郑州)

90,367 阅读7分钟

面试时间:22年4-5月

总结:都是事后回想的,整理的比较潦草,而且没有答案

面试base地:郑州(最后去了北京,对郑州有点失望)

中国电信集成(过了)

  • vue生命周期
  • webpack打包机制
  • v-if v-show
  • 如何实现一个深拷贝
  • 敏捷开发的思维模式

牧原股份一面((过了,主动放弃二面)

  • 讲一下react hooks内部实现原理
  • 微前端中微任务注入权限如何控制
  • 讲一下宏任务和微任务
  • 讲一下为什么用微前端,qiankun的特性是什么,有没有看过single-spa的内部实现方式
  • 需要去南阳出差,接受吗

数字郑州一面(过了)

  • 浏览器协商缓存
  • 事件循环 宏任务 微任务(没回答好)
  • react父子组件如何通信,redux通信机制
  • 父组件如何调用子组件方法
  • react生命周期
  • antd from表单自定义组件
  • webpack打包原理
  • webpack 如何分包
  • webpack load plugin区别
  • 输入URL回车发生了啥(从发送http开始说)
  • 受控组件和非受控组件
  • 为什么要使用微前端
  • react context
  • ES6+用过哪些特性
  • 如何解决跨域问题(只讲项目中用到的,cors原理及如何配置)
  • promise能取消吗
  • 如何解决移动端适配问题,rem和vw有啥区别
  • 能接受加班吗,有没有遇到压力特别大的时候

数字郑州二面(过了)

  • 如何实现一个forEach,forEach单词循环返回的是个什么
  • 如何使用react hooks实现之前的生命周期
  • 如何实现一个ajaix,讲下原理
  • promise内部是如何实现的,geneor函数内部是如何实现的,如何通过gene实现一个async await方法
  • 讲讲你都加班和出差的看法
  • vue3 有哪些特性
  • 讲一下redux的数据运转及原理,讲一下你对redux使用场景的看法
  • css实现动画vs js来实现动画
  • 讲一下如何实现前端自动化
  • 使用过docker部署吗

uu跑腿共四面(过了)

  • es6有哪些特性
  • 前端打包工具vite
  • 高阶组件平时使用过没
  • redux 原则, connect
  • 深浅拷贝 如何实现一个深拷贝
  • 从拿到一个大型项目开始,如何做优化
  • 有没有做过大屏项目
  • 有没有做过可视化拖拽生成页面,可以简单讲下实现流程
  • redux 三大原则
  • 如何解决跨域问题

鸿翼股份一面(过了)

  • css 伪类 伪元素
  • html行内元素和块级元素
  • 什么是外边距合并,如何解决
  • react hooks 相对于class组件的优势
  • 如何实现一个闭包
  • 讲一讲js 垃圾回收机制,如何回收

鸿翼股份二面(过了)

  • webpack如何优化包体积
  • webpack 如何优化构建时间
  • 平时你是怎么学习和进步的,遇到不会的问题怎么办
  • 高阶组件的使用场景
  • 你未来的发展方向是什么
  • 拿到一个项目除了webpack外,如何做代码层面的优化
  • react 实现异步加载组件的方式有哪些

字节跳动一面(过了)

  • 手写代码 实现一个react memo效果,react.meno第二个参数是什么
  • pureComponent
  • 手写代码实现一个有状态的倒计时
  • 浏览器强缓存,cacle-control 有哪些字段 浏览器缓存原理
  • 微信原生小程序性能指标
  • 有没有看过qiankun的底层原理
  • webpack5缓存有哪几种方式
  • 强缓存和协商缓存的状态码是多少
  • HTTP2.0相当于1.X有哪些优势
  • webpack 是利用什么机制分包的
  • webpack5 模块联邦简单介绍下如何实现

字节跳动二面(没过)

  • 自定义一个hooks
  • 实现一个节流函数(然后改成hoos的写法)
  • 实现一个快排
  • 说说你期望的前端发展方向

中软国际(电信公司)(过了)

  • webpack dllPlugin 具体如何做配置的
  • react class和hooks 分别是如何实现生命周期的
  • 纯函数组件的好处
  • 高阶组件
  • react 项目如何做代码优化
  • load和plugin有什么区别,常用的load和plugin有哪些
  • 一个页面的按钮权限如何控制(假如给你一个整个项目的按钮权限数据)

XX一面(过了)

  • 宏任务微任务
  • 为什么会有跨域问题,如果接口有跨域问题,那接口到服务端了吗
  • 解释一下BFC。BFC脱离文档流没
  • commonjs的模块导入导出和ES6的导入导出有什么区别
  • flex用过没
  • 如何解决移动端适配问题
  • 一个div内嵌一个div margin-top30,2个div相差多少
  • CORS2个请求有什么区别,能否合并成一个
  • HTTP1.0和HTTP1.1有什么区别
  • ['fldffd','flrtoss','flodofs’] 求最长相同字符前缀
  • forEach如何跳出循环
  • 你对自己的未来规划是什么

XX二面(过了)

  • 之前遇到最大的困惑和挑战是什么
  • 如何做移动端适配
  • 如何做页面性能优化
  • 如何保证一个项目从开发到上线没有bug,讲讲你的思路
  • webpack如何优化包体积和构建速度

XX三面(过了)

  • 做微前端之前是如何考虑的,利用微前端能解决什么痛点,前期做了哪些调研
  • qiankun配置微应用入口后,entry是如何实现应用的路由的
  • jsx为什么能在js里写html代码,最后是怎么处理和编译的
  • webpack的编译和浏览器的编译主要做了哪些事情
  • vue中 html中可以写指令,如v-model,请问是如何实现的
  • vue中双向数据绑定是如何实现的
  • react中 状态的更新是如何触发视图渲染的
  • 一个项目做性能优化前,是做如何考虑的,做性能优化有哪些指标能参考,拿到一个项目后,是如何做性能优化的

开源中国一面(过了)

  • less sass平时使用过没,有哪些特性
  • nodejs用过哪些东西
  • 讲一下栅格布局和flex布局
  • 如何实现一个换肤功能;(2个不同的css文件)
  • 如何实现一个导航栏的显示隐藏(根据分辨率)
  • 如何实现一个导航栏变窄
  • class super是干嘛的
  • class方法和纯函数有什么不一样
  • ts数据类型用过哪些
  • ts @符合的使用,angular中@是用来实现个什么东西的
  • ts中的一些没听过的知识点(记不起来了)
  • react forwardRef用过没
  • react hooks 如何实现组件销毁
  • vue熟悉吗
  • HTTP缓存是如何处理的(服务器或者ng是如何返回缓存字段的)
  • 三方npm资源链接复用,你们公司一般都放在哪里
  • 说说复杂数据类型,function是复杂数据类型吗,如何判定复杂数据类型的类型
  • 项目打包从200M优化到120M这之间做了哪些事情

开源二面(过了)

  • CDN如何做配置,浏览器缓存及CDN缓存策略,CDN基本概念,CDN对应的服务器宕机了,前端快速让页面能正常打开
  • 移动端适配原理和方案,flex布局和栅格系统
  • redux是干嘛的,是否是必须的
  • 抛开三方插件,如何实现跨页面通信,缓存有I/O,有没有其他方案,react context之类
  • 在做性能优化之前,是基于什么做考虑的,为什么需要做性能优化
  • 如何从代码层面做性能优化,讲讲你的思路
  • 一般项目从开发到上线,你认为需要具备几个环境才是合理的
  • git merge 和 git rebase有什么区别
  • 用react实现一个slect下拉组件,从简单到负责,通过对props、状态、事件并运用组件化的思想讲一下你的思路
  • ts平时都使用过,在项目中你认为ts的定位是什么

亚信科技

  • 没有面试,让直接过去当前端负责人,和他们的区域经理比较熟,吃吃饭,聊了一下现有的工作
  • 在了解了他们那边的项目之后,又简单聊了聊我过去能做些什么
  • 聊了下,领导对我的期待和我自己的规划
  • 最后发offer的时候,总公司严控,说没有HC了,公司有点扯!!!