专业编程基础技术教程

网站首页 > 基础教程 正文

究竟是多深的功力!能一举拿下字节/腾讯/蚂蚁三大厂的前端offer

ccvgpt 2024-12-19 11:49:39 基础教程 2 ℃

字节面试过程:

12月4号进行内推,7天的简历评估,11号接到电话面试,尽管猝不及防回答仓促,但好在前期准备充分,通过。14号现场面试,次日收到通知,通过。16号进行HR面,22号收到Offer。

应战大厂,一靠积累技术;二靠总结复盘。面试结束后把各大厂的面试经验及高频考点梳理了一遍,整理了一套完整的前端面试考点总结(有PDF版在文末分享给大家),希望能够帮助计划冲大厂的小伙伴。

究竟是多深的功力!能一举拿下字节/腾讯/蚂蚁三大厂的前端offer

以下为字节跳动三面面试题:

一面:

  1. tcp 和 udp 的区别和使用场景?
  2. quic 基于 udp 怎么保证可靠性?
  3. 讲一下同源策略和跨域方案?CORS 的几个头部是什么?
  4. 讲-下 react fiber?
  5. vue 双向绑定原理?
  6. redux 和 mobx 的区别和使用场景?
  7. typeof null? null instanceof Object?
  8. typeof 可以判断哪些类型?instanceof 做了什么?
  9. 实现一个 bind 函数
  10. 求数组里面最大连续项的和
  11. event loop

二面:

  1. 怎么优化 h5 的加载速度?
  2. 离线包怎么更新?怎么知道需要打开哪个离线包?
  3. js bridge 通信原理?
  4. 怎么实现 h5 页面秒开?
  5. 明明不是同一个语言,为什么js 和 native 可以通信?
  6. 怎么实现 js bridge 跨多个 app 共用?
  7. grpc 相比 http 的优势?
  8. 怎么实现移动端的布局?
  9. iOS 下软键盘输入框遮挡遇到过问题么?怎么解决顶不起来的问题?
  10. 实现两个大数相加
  11. 求一个数组最大子项的和,要求这些子项在数组中的位置不是连续的
  12. 常用的 react hooks 方法
  13. 怎么解决 useState 闭包的问题?

三面:

  1. 做过哪些公共组件?DatePicker 怎么实现的?难点在哪里?
  2. 组件封装有哪些原则?
  3. 组件数据和 UI怎么分离?
  4. 有没有做过一些提高工作效率的东西?
  5. 有没有了解过拖拽?觉得它有哪些难点?
  6. 有没有做过优化相关的?webpack 做了哪些优化?
  7. cache-loader 和 hard-source-webpack-plugin 的区别是什么?
  8. 最近遇到的比较难的项目是什么?你们服务是怎么部署的?
  9. Puppeteer 可以用来做什么

感悟

1、重视JS基础和基本的算法,可以通过Leetcode学习算法基础。提前刷题准备。 2、能找内推尽量内推,方便跟进进度,了解面试情况等。

除了字节的面试,还参加了腾讯、蚂蚁等公司的面试,都收到了 offer,具体的的面经我都做了整理。

最后要感谢字节大佬的这份1338页《前端大厂面试宝典》,从最基础的HTML+CSS+JS到移动端HTML5以及各种框架和新技术都有涵盖,全部整理在下面的PDF文档中。

总览:

因为篇幅限制,这里就展示部分内容的截图了,有想获取完整文档的朋友:点赞+转发后,私信我【前端】即可

CSS

  • 让一个元素水平垂直居中,到底有多少种方案?
  • 浮动布局的优点?有什么缺点?清除浮动有哪些方式?
  • 使用display:inline-block会产生什么问题?解决方法?
  • 布局题:div垂直居中,左右10px,高度始终为宽度一半
  • 盒模型
  • CSS如何进行品字布局?
  • CSS如何进行圣杯布局
  • CSS如何实现双飞翼布局?
  • 什么是BFC?
  • 触发条件
  • BFC渲染规则
  • 应用场景 …

JavaScript

  • JS原始数据类型有哪些?引用数据类型有哪些?
  • null是对象吗?为什么?
  • ‘1’.toString()为什么可以调用?
  • 0.1+0.2为什么不等于0.3?
  • 什么是BigInt? 为什么需要BigInt?
  • 如何创建并使用BigInt?
  • typeof 是否能正确判断类型?
  • instanceof能否判断基本数据类型?
  • 能不能手动实现一下instanceof的功能?
  • Object.is和===的区别?
  • [] == ![]结果是什么?为什么?
  • JS中类型转换有哪几种?
  • == 和 ===有什么区别?
  • 对象转原始类型是根据什么流程运行的?
  • 如何让if(a == 1 && a == 2)条件成立?
  • 什么是闭包?
  • 闭包产生的原因?
  • 闭包有哪些表现形式?
  • 如何解决下面的循环输出问题?
  • 原型对象和构造函数有何关系?
  • 能不能描述一下原型链?
  • JS如何实现继承?
  • 函数的arguments为什么不是数组?如何转化成数组?
  • forEach中return有效果吗?如何中断forEach循环?
  • JS判断数组中是否包含某个值
  • JS中flat—数组扁平化
  • 数组中的高阶函数
  • 能不能实现数组map方法 ?
  • 能不能实现数组reduce方法 ?
  • 能不能写一个完整的深拷贝?
  • 数据是如何存储的?
  • V8 引擎如何进行垃圾内存的回收?
  • 描述一下 V8 执行一段JS代码的过程?
  • 宏任务(MacroTask)引入
  • nodejs 和 浏览器关于eventLoop的主要区别
  • nodejs中的异步、非阻塞I/O是如何实现的?
  • JS异步编程有哪些方案?为什么会出现这些方案?
  • 能不能简单实现一下 node 中回调函数的机制?
  • Promise 凭借什么消灭了回调地狱?
  • Promise 如何实现链式调用?
  • 现Promise的 all 和 race
  • 解释一下async/await的运行机制 …

HTTP

  • HTTP 报文结构是怎样的?
  • HTTP有哪些请求方法?
  • GET 和 POST 有什么区别?
  • 如何理解 URI?
  • 如何理解 HTTP 状态码?
  • 简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
  • 对 Accept 系列字段了解多少?
  • 对于定长和不定长的数据,HTTP 是怎么传输的?
  • HTTP 如何处理大文件的传输?
  • HTTP 中如何处理表单数据的提交?
  • HTTP1.1 如何解决 HTTP 的队头阻塞问题?
  • 对 Cookie 了解多少?
  • 如何理解 HTTP 代理?
  • 如何理解 HTTP 缓存及缓存代理?
  • 为什么产生代理缓存?
  • 源服务器的缓存控制
  • 客户端的缓存控制
  • 什么是跨域?浏览器如何拦截响应?如何解决? …

Vue

  • 什么是MVVM?
  • mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?
  • 组件之间的传值?
  • Vue 双向绑定原理
  • 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
  • 虚拟 DOM 实现原理
  • Vue 中 key 值的作用?
  • Vue 的生命周期
  • Vue 组件间通信有哪些方式?
  • vue 中怎么重置 data?
  • 组件中写 name 选项有什么作用?
  • vue-router 有哪些钩子函数?
  • route 和 router 的区别是什么?
  • 说一下 Vue 和 React 的认识,做一个简单的对比
  • Vue 的 nextTick 的原理是什么?
  • Vuex 有哪几种属性? …

Webpack/Typescript

Node.js/小程序

因为篇幅限制,这里就展示部分内容的截图了,有想获取完整文档的朋友:点赞+转发后,私信我【前端】即可

Tags:

最近发表
标签列表