初级前端面试日记 (持续更新)

412 阅读9分钟

截至2022.08.15,已经是裸辞的第46天了😶,给自己的deadline是8月31号,能顺利上岸前端吗? 8月15更新:目前已经拿到2个Offer,都不太理想,明天要去上海某上市公司进行现场人事终面,看看这个offer能不能顺利拿下,未完待续......

2022年8月22日更新:不太理想地上岸了,先试试看。本文暂时停更。

2022.07.17

上海某初创公司技术一面
面试时长:30分钟
面试结果:未通过

  1. CSS常用的水平垂直居中方法
  2. CSS选择器优先级排序,CSS选择器中的 + 、> 分别代表什么
  3. 谈一下移动端适配方案,以及如何计算出适合当前页面的元素大小
  4. 你一般用什么来查询节点
  5. 原生JS绑定事件一般都用什么方法
  6. 如何为同一个元素添加多个相同的点击事件?
  7. 有使用过addEventListener吗?addEventListener的第三个参数是
  8. 什么是事件代理
  9. 说一下事件的捕获和冒泡
  10. 说一下event.target
  11. JS的数据类型?基础类型和引用类型的区别
  12. 如果要深拷贝一个引用类型的数据,应该怎么做
  13. 数组常用的API有哪些
  14. 遍历一般都用哪些方法
  15. 说一下reduce方法
  16. map和forEach的区别
  17. 说一下对于原型链的理解
  18. 是否有使用过ES5的方式实现类
  19. 如何统计字符串中出现最多的字母与个数
  20. ++a 和 a++ 的区别
  21. 谈一下Promise
  22. 谈一谈graph图状的数据结构数据,和树状结构有什么区别
  23. 给一个树状的数据,找到其中某个符合条件的叶子节点,如何查找,是否用代码实现过
  24. 开发中使用的是类组件还是函数式组件,React类组件中有哪些优化方案
  25. 无限式瀑布流滚动到最后还会有很多数据,之前加载的数据,你会卸载吗
  26. 是否遇到过页面上DOM元素过多造成的页面卡顿的情况,如何解决
  27. 是否有用过可视化的组件

2022.08.01

上海某外包公司人事一面
面试时长:20分钟
面试结果:未通过

  1. 我看你之前3月份有投递过我们公司的产品岗,为何现在投递开发岗呢?
  2. 你现在离职了没?为啥离职?
  3. 最后也是管理方向薪资高,你为啥要干开发?怎么考虑的?
  4. 推进项目的过程中,遇到什么难题,怎么解决的?
  5. 干开发,也经常需要跨部门沟通,这方面的沟通如何?
  6. 简单介绍一个你比较熟悉的项目
  7. 抽离组件的工作是他人提出来的,还是自己主动做的?
  8. 这个项目为何选用React框架?
  9. 是否用过Vue?
  10. 是否看过React源码?
  11. 平时有自己学习其他新技术吗?一般通过什么途径学?
  12. 有写技术博客的习惯吗?
  13. 对下一份工作的期望是?以及期望的薪资是?
  14. 还有啥要问我的?

2022.08.04 & 2022.08.05

上海某外包公司技术一面
面试时长:12分钟 (因为我菜得离谱,所以很快结束了对话)
面试结果:通过 (这也能通过,震惊)

  1. 你都写过哪些组件?
  2. tab页面切换如何做的?写这个组件,一般都用到哪些原生组件?
  3. 封装组件时,有哪些注意事项?
  4. 有做过文件的上传和下载没有?
  5. 从零开始写下载功能,前端需要做哪些工作?
  6. 前端如何控制断点续传?
  7. 项目开发打包的流程是否清楚?
  8. react项目打包完会生成什么文件?需要得到一个什么文件部署到服务器上面?
  9. 你在本地是如何测试的?
  10. 你们用的代码管理工具是什么?
  11. Git使用熟练吗?
  12. 遇到代码冲突的时候,是如何解决的?
  13. 离职原因?

上海某外包公司技术二面
面试时长:12分钟 (因为我菜得离谱,依旧很快结束了对话)
面试结果:通过 (居然再次通过了,震惊)

  1. 介绍项目
  2. 介绍一下自己封装的日期选择器
  3. React用的类式组件还是函数式组件?
  4. 介绍类式组件的生命周期
  5. 介绍防抖及其实现原理
  6. 项目的打包有做过吗?
  7. 平时使用什么开发工具调试?
  8. 介绍CDN
  9. 你当时为何不去考研究生?(面试官竟然就以这个问题结束了本轮面试对话......)

2022.08.09

上海某上市公司技术一面
公司规模:100 - 499人
面试时长:30分钟
面试结果:已通过

  1. 自我介绍
  2. 项目介绍,从技术角度介绍,做过哪些功能,用到哪些技术?
  3. 你们的团队组成?
  4. React的优势
  5. 介绍CSS盒模型?有哪些元素来作为盒模型?
  6. 介绍BFC以及什么情况下会形成BFC?
  7. 介绍闭包,以及闭包的常见用法
  8. JS的异步解决方案一般都有哪些?
  9. Promise方法的状态有哪些?用过哪些Promise的API?
  10. setTimeOut、setIntelval 和 Promise.then 有什么区别?
  11. 在React项目中,一般怎么做性能优化?
  12. 浏览器加载网址的过程
  13. 常用哪些ES6的新特性?
  14. 把一个二位数组变成一维数组的API是?
  15. 介绍Flex布局,以及常用的属性
  16. 你做过UI设计,是高保真的设计还是系统原型的设计?你们用的啥工具?
  17. 在职状态吗?离职原因?住哪里?最快何时到岗?
  18. 期望薪资是?

2022.08.10

上海某初创公司技术一面
面试时长:30分钟

  1. 项目介绍,你主要负责的模块和内容
  2. 项目人员配比
  3. 为何选择React
  4. 车辆在途信息页面都包括了哪些内容?
  5. 现在用的React版本号是?
  6. 类组件和函数式组件的区别
  7. useEffect代表了类组件中的哪些生命周期函数?
  8. 类组件中的 shouldComponentUpdate() 对应的hooks是?
  9. 项目中的接口请求是通过什么样的形式实现?
  10. 现在页面上有一个可以点击展开的列表,展开出现子表格,这种场景和后端对接口,你需要什么样的数据结构?比如现在静态页面已经做好了,有这种场景,你要去对接接口,你怎么做?
  11. ReactRouter用的哪个版本?
  12. 为何选择AntDesign,而不选择Umi的脚手架去做?
  13. 路由如何配置的?是用的动态路由还是前端写死的路由表?
  14. 完整地描述登录流程,前端如何判断用户有哪些路由权限,这些路由是如何挂载到系统上去的,没有权限的是如何把它剔除掉的?
  15. 谈一谈受控组件和高阶组件
  16. props和state的区别
  17. 嵌套比较深的组件中,传一些props,如何实现?
  18. 用了PubSub帮我们解决了哪些问题
  19. 用过Context吗?
  20. 你是如何做防抖处理的?
  21. 防抖和节流的区别?
  22. 除了ECharts还用过哪些的图表?
  23. ECharts常配的属性有哪些?数据集合设置的key值是什么?
  24. 离职情况和离职原因?
  25. 期望薪资?
  26. 有什么想问我的?

上海某外包公司技术一面
面试时长:20分钟
面试结果:已通过

  1. 英文自我介绍
  2. 工作中最大的挑战是什么
  3. 接触过移动端适配吗?一个场景:在React中做一个WebView页面,移动端字体是适配的,如何做?
  4. 在不同父类下的子元素如何通信?
  5. 使用provider和consumer数据通信的流程?
  6. AntDesign好用在哪?
  7. JS的异步解决方案?
  8. await返回什么?如果返回的值不是一个Promise对象,会原封不动返回,它对应的Promise里面的什么状态?
  9. 平时有接触过JS动画之类的东西吗?比如市面上一些开源的animation engine,比如PixiJS
  10. 一个纯整数的数组,找出其中连续子数组的最大和,说出算法逻辑
  11. 接上面的问题:一旦遇到和是负数,应该怎么处理比较合适?

2022.08.11

杭州某小厂技术一面
面试时长:30分钟
面试结果:已通过

  1. React框架的原理是?
  2. 谈一谈XSS攻击
  3. HTML中有哪些常用的新元素?
  4. CSS常用的选择器
  5. 有用过Less和Sass吗?说一下对他们的了解
  6. 块级元素的垂直居中有哪些实现方式?
  7. 常用的DOM操作有哪些?
  8. ES6常用的新特性
  9. 函数组件和类式组件的区别
  10. 谈一谈Redux
  11. 谈一谈跨组件通信
  12. 说一下常用的数组API
  13. 给定一个数组,删除某个指定值,有哪些实现方法?
  14. 写过TS吗?
  15. 在项目中主要负责哪个模块,这个系统主要实现的是哪些功能?
  16. 技术选型是整个前端团队去选还是你个人去选?
  17. 需求的梳理和原型设计是你一个人做吗?
  18. 页面上要展示的字段,是如何设计的?和后台开发一起去设计吗?
  19. 你上一家公司整个项目实施的流程是怎么样的?

2022.08.12

上海某外包公司技术二面
8月10号某外包公司的一面通过,这次是二面啦~
面试时间:15分钟
面试结果:已通过

一、英文对话

  1. 英文自我介绍
  2. 是否干过后端相关的事情?
  3. 是否有比较熟悉的后端开发语言?
  4. 最有挑战和最记忆深刻的项目是?
  5. 项目组有多少人?

二、中文对话

  1. 是否用过TS
  2. JS熟悉程度如何?给自己答多少分?
  3. 换工作的原因?
  4. 简单介绍一下JS的宏任务和微任务,以及具体的应用
  5. 代码中setTimeout写在前面,promise.then()写在后面,谁会先执行
  6. 了解过SASS吗,预编译的步骤是在哪一步执行的?是在runtime执行的还是在runtime之前执行的?