拿下前端字节offer(实习),我们该如何去做准备?

故事开篇:

本人应届毕业生前端开发一枚,二本计算机专业,大一大二打游戏混日子,觉得离自己工作还远着,没什么压力,大三下学期,刚好碰上疫情,疫情的时候在家时间比较多,天天玩游戏总觉得心理惴惴不安,于是开始认真自学相关知识。提前在家学习项目背面试题为面试做准备。

以下主要分享面经和个人学习方法(适合0-1年经验),会包括很多面试题PDF文档,学习笔记、等等,均可以分享,需要的点击此处免费领取~

字节面试题(实习)

一面

  • 自我介绍
  • this探讨
  • 说说有哪些改变this指向的方法
  • 假如要兼容IE,请简单实现一下bind
  • 你看过Vue的源码嘛?简单实现一下发布订阅模式
  • UDP & TCP 说说两者的区别
  • 怎么判断这个包是UDP还是TCP
  • 说说HTTPS原理
  • 说说什么时候必须使用ETag
  • 浏览器缓存,说说都有哪些方法?
  • 二叉树左侧看

二面

  • 自我介绍
  • 说说虚拟DOM和原始DOM相比的优缺点
  • 根据svelte框架,类比一下你还能说出什么缺点嘛?
  • BFC是什么?
  • 什么情况下使用BFC
  • 该怎么触发BFC
  • 移动端适配
  • rem 和 em 的区别
  • Vuex用过modules吧,说说A文件内的actions怎么修改B的state
  • TypeScript变量后面加上感叹号什么意思
  • 类型断言的方法
  • 异步
  • 大概写下Promise.all的原理吧

三面

  • 自我介绍
  • 重点项目介绍,难点挑战
  • 权限控制方案,怎么实现的,整体的思路如何
  • 模块化是怎么划分的,具体做过哪些
  • 提出了一个输入框远程搜索提示的功能
  • 说说版本是怎么迭代的

面试准备

校招 -1 年,这个阶段还属于成长期,面试时更需要看重的是你的基础和热情。对于 JS 基础,计算机基础,网络通信,算法等部分的要求会相对高一些。毕竟这个阶段比较难考察你的业务项目中的沉淀,所以只能从基础部分入手考察。下面有几条小建议:

  • 在学校学习,或是利用网络上的各种资料巩固自己的基础,是这个阶段的关键。
  • 在简历里展示出你的优势,让面试官看到你的潜力。
  • 多去了解社区前沿技术,关注国内外的各种技术趋势。
  • 尝试自己写一些小项目,或者是参与社区开源的项目。
  • 开始记录自己的技术博客。

规划简历

通常来说,简历结构都差不多,内容最好控制在一张A4纸内。

  • 个人信息
  • 教育经历
  • 工作经历
  • 项目经历
  • 自我总结

个人信息:
简洁明了,主要包括:

  • 姓名、联系方式,邮箱;
  • 学校,专业;
  • 求职岗位;

教育经历:

  • 写清楚学校、专业、学历、时间、相关课程
  • 成绩较优异的同学可选择性备注专业排名

工作经历:
工作经历是简历中相当重要的一部分,它是你过去几年经历的总结。

工作经历需要写的是你做成了什么,注意不是流水账一样去列举你做了什么,最好的是你给公司带来了什么样的贡献和提效。

具体需要写清楚地点、起止时间、职位、承担的工作。

项目经历:

  • 项目经验可以写实习项目、学校比赛项目、自己折腾的技术项目,按照时间顺序梳理
  • 描述项目背后通用的技术知识的应用实践以及解决问题的思路
  • 相关产出,在线文档、博客等

自我总结:

  • 描述专业技能,尽可能减少熟练、精通这类字眼
  • 简要描述奖学金和其他在校荣誉,如竞赛奖项
  • 语言能力,英语、日语或者其他语言均可

巩固基础

注重基础理论的积累,比如css盒模型,布局,过渡与动画,定位这些比较常用的理论。对于javascript,要多熟悉逻辑运算的语法和数组语法,因为很多场景下javascript都在处理逻辑。

学习笔记:

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等

巩固基础

基础面试题

主要内容包括:HTML,CSS,JavaScript,浏览器,性能优化等等

前端基础面试题

字节真题训练

CSS 基础

  1. 请你讲一讲 CSS 的权重和优先级
  2. 介绍 Flex 布局,flex 是什么属性的缩写:
  3. CSS 怎么画一个大小为父元素宽度一半的正方形?
  4. CSS实现自适应正方形、等宽高比矩形
  5. 实现两栏布局的方式
  6. 实现三列布局的方式
  7. CSS 动画有哪些?
  8. 用css2和css3分别写一下垂直居中和水平居中
  9. visibility 和 display 的差别(还有opacity)
  10. opacity 可以有过渡效果嘛?
  11. BFC 与 IFC 区别
  12. BFC会与float元素相互覆盖吗?为什么?举例说明
  13. 了解box-sizing吗?
  14. 什么是 BFC
  15. 了解盒模型吗?
  16. 说一下你知道的position属性,都有啥特点?
  17. 两个div上下排列,都设margin,有什么现象?
  18. 清除浮动有哪些方法?

JavaScript 基础

  1. 问:0.1 + 0.2 === 0.3 嘛?为什么?
  2. JS 数据类型
  3. JS 整数是怎么表示的?
  4. Number() 的存储空间是多大?如果后台发送了一个超过最大自己的数字怎么办
  5. 写代码:实现函数能够深度克隆基本类型
  6. 事件流
  7. 事件是如何实现的?
  8. new 一个函数发生了什么
  9. new 一个构造函数,如果函数返回 return {}return nullreturn 1return true 会发生什么情况?
  10. symbol有什么用处
  11. 闭包是什么?
  12. 闭包产生的本质
  13. 一般如何产生闭包
  14. 闭包的应用场景
  15. 什么是作用域?
  16. 什么是作用域链?
  17. NaN 是什么,用 typeof 会输出什么?
  18. JS 隐式转换,显示转换
  19. 了解 this 嘛,bind,call,apply 具体指什么
  20. 手写 bind、apply、call
  21. setTimeout(fn, 0)多久才执行,Event Loop
  22. 手写题:Promise 原理
  23. js脚本加载问题,async、defer问题
  24. 如何判断一个对象是不是空对象?
  25. <script src=’xxx’ ’xxx’/>外部js文件先加载还是onload先执行,为什么?
  26. 怎么加事件监听
  27. 事件传播机制(事件流)
  28. 说一下原型链和原型链的继承吧
  29. 说下对 JS 的了解吧
  30. 数组能够调用的函数有那些?
  31. 如何判断数组类型
  32. 函数中的arguments是数组吗?类数组转数组的方法了解一下?
  33. 用过 TypeScript 吗?它的作用是什么?
  34. PWA使用过吗?serviceWorker的使用原理是啥?
  35. ES6 之前使用 prototype 实现继承
  36. 如果一个构造函数,bind了一个对象,用这个构造函数创建出的实例会继承这个对象的属性吗?为什么?
  37. 箭头函数和普通函数有啥区别?箭头函数能当构造函数吗?
  38. 知道 ES6 的 Class 嘛?Static 关键字有了解嘛
  39. 事件循环机制 (Event Loop)
  40. 手写题:数组扁平化
  41. 手写题:实现柯里化
  42. 手写题:数组去重
  43. let 闭包
  44. 变量提升
  45. instance 如何使用

计算机网络

  1. DDOS 攻击
  2. http请求过程
  • DNS 域名如何解析的?
  • TCP三次握手
  • 为什么要三次握手?
  • 为什么HTTP协议要基于TCP来实现?
  • 说到三次握手,那在说下四次挥手吧?
  • 如果已经建立了连接,但是客户端突然出现故障了怎么办?
  • http请求方式有哪些?
  • 常用的请求状态码?
  1. TCP和UDP的区别以及应用场景
  • UDP
  • TCP
  • 应用场景
  1. tcp 中拥塞避免和流量控制机制
  2. http和https
  • http和https的区别
  • https的访问过程
  • https的优缺点?
  • https如何进行性能优化?
  1. 说下http缓存吧
  • 什么是缓存?又有什么用?
  • 你知道有哪些缓存方式吗?
  • 缓存位置
  • http缓存怎样生效的

Vue框架

  1. active-class是哪个组件的属性?嵌套路由怎么定义?
  2. 怎么定义vue-router的动态路由?怎么获取传过来的动态参数?
  3. vue-router有哪几种导航钩子?
  4. scss是什么?在vue.cli中的安装使用步骤是?有哪几大特性?
  5. mint-ui是什么?怎么使用?说出至少三个组件使用方法?
  6. v-model是什么?怎么使用? vue中标签怎么绑定事件?
  7. axios是什么?怎么使用?描述使用它实现登录功能的流程?
  8. axios+tp5进阶中,调用axios.post(‘api/user’)是进行的什么操作?axios.put(‘api/user/8′)呢?
  9. 什么是RESTful API?怎么使用?
  10. vuex是什么?怎么使用?哪种功能场景使用它?
  11. mvvm框架是什么?它和其它框架(jquery)的区别是什么?哪些场景适合?
  12. 自定义指令(v-check、v-focus)的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?
  13. 说出至少4种vue当中的指令和它的用法?
  14. vue-router是什么?它有哪些组件?
  15. 导航钩子有哪些?它们有哪些参数?
  16. Vue的双向数据绑定原理是什么?
  17. 请详细说下你对vue生命周期的理解?
  18. 请说下封装 vue 组件的过程?
  19. 你是怎么认识vuex的?
  20. vue-loader是什么?使用它的用途有哪些?
  21. 请说出vue.cli项目中src目录每个文件夹和文件的用法?
  22. vue.cli中怎样使用自定义的组件?有遇到过哪些问题吗?
  23. 聊聊你对Vue.js的template编译的理解?
  24. Vuex是什么?为什么使用Vuex?
  25. vuejs与angularjs的区别?
  26. vue为什么不直接操作dom?
  27. 你怎么理解vue是一个渐进式的框架?
  28. Vue声明组件的state是用data方法,那为什么data是通过一个function来返回一个对象,而不是直接写一个对象呢?
  29. 说下vue组件之间的通信?
  30. vue中mixin与extend区别?

算法

  1. 冒泡排序
  2. 选择排序
  3. 快速排序
  4. 二叉树查找: 最大值、最小值、固定值
  5. 二叉树遍历
  6. 二叉树的最大深度
  7. 给予链表中的任一节点,把它删除掉
  8. 链表倒叙
  9. 如何判断一个单链表有环
  10. 给定一个有序数组,找出两个数相加为一个目标数
  11. 找出一个无序数组中出现超过一半次数的数字

篇幅有限,本文面试题资料需要的点击此处免费领取~

最后分享

《350页前端校招面试题精编解析大全》内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展,等等

《350页前端校招面试题精编解析大全》

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):