做了3年测试,靠着这份面试题和答案,我成功跳槽字节跳动拿到了前端offer
个人经历
给大家一个参考,计算机信息工程专业,大学学过前端,毕业后阴差阳错在小公司做了三年测试后,意外地拿到了字节跳动前端的offer,成功跳槽到了字节跳动事业部。
字节跳动面试对基础比较看重,然后需要你有两三个比较好的项目,一面重视面试者对前端基础的把握,还要手写代码,不过不难。
二面部门的leader面,这一面比较难,面试官会对你的项目细节进行深挖,所以说项目要牛逼一点,最后还会有一道逻辑题(侥幸),三面是还是技术面,最后是HR面,如果你想进大公司的话,下面这些技术是肯定要掌握的:html5,css3,JavaScript,略懂一点jQuery源码,Node.js,express,mongoose,数据库mongodb。大公司问的核心在于JavaScript。
本人总结了一系列大厂面试中常问的面试技术点,深入解析以及答案,将为最近准备面试的各开发者去大厂保驾护航,
何谓面试? 我所理解的面试,它是一个过程,是不断沉淀、不断总结、善于传达自己的专业领域技术以及解决问题能力的过程。以下是我准备字节跳动前端面试收集总结的一些面试题,文中如有错误,恳请批评指正!
如果觉得看起来比较麻烦,需要PDF版本,或是需要更多学习资料(大厂面试真题解析),点击我领取。祝愿每一位有追求的Android开发同胞都能进大厂拿高薪!
CSS 基础
- 请你讲一讲 CSS 的权重和优先级
- 介绍 Flex 布局,flex 是什么属性的缩写
- CSS 怎么画一个大小为父元素宽度一半的正方形?
- CSS实现自适应正方形、等宽高比矩形
- 实现两栏布局的方式
- 实现三列布局的方式
- CSS 动画有哪些?
- 用css2和css3分别写一下垂直居中和水平居中
- visibility 和 display 的差别(还有opacity)
- opacity 可以有过渡效果?
- BFC 与 IFC 区别
- BFC会与float元素相互覆盖吗?为什么?举例说明
- 了解box-sizing吗?
- 什么是 BFC
- 了解盒模型吗?
- 说一下你知道的position属性,都有啥特点?
- 两个div上下排列,都设margin,有什么现象?
-
清除浮动有哪些方法?
...
JavaScript 基础
- 问:0.1 + 0.2 === 0.3 嘛?为什么?
- JS 数据类型
- JS 整数是怎么表示的?
- Number() 的存储空间是多大?如果后台发送了一个超过最大自己的数字怎么办
- 写代码:实现函数能够深度克隆基本类型
- 事件流
- 事件是如何实现的?
- new 一个函数发生了什么
- new 一个构造函数,如果函数返回 return {} 、 return null ,
return 1 , return true 会发生什么情况? - symbol有什么用处
- 闭包是什么?
- 闭包产生的本质
- 一般如何产生闭包
- 闭包的应用场景
- 什么是作用域?
- 什么是作用域链?
- NaN 是什么,用 typeof 会输出什么?
- JS 隐式转换,显示转换
- 了解 this 嘛,bind,call,apply 具体指什么
- 手写 bind、apply、call
- setTimeout(fn, 0)多久才执行,Event Loop
- 手写题:Promise 原理
- js脚本加载问题,async、defer问题
- 如何判断一个对象是不是空对象?
- <script src=’xxx’ ’xxx’/>外部js文件先加载还是onload先执行,为什么?
- 怎么加事件监听
- 事件传播机制(事件流)
- 说一下原型链和原型链的继承吧
- 说下对 JS 的了解吧
- 数组能够调用的函数有那些?
- 如何判断数组类型
- 函数中的arguments是数组吗?类数组转数组的方法了解一下?
- 用过 TypeScript 吗?它的作用是什么?
- PWA使用过吗?serviceWorker的使用原理是啥?
-
ES6 之前使用 prototype 实现继承
...
Javascript高频手写代码题
1.实现 new 方法
2.实现 Promise
3.实现一个 call 函数
4.实现一个 apply 函数
5.实现一个 bind 函数
6.浅拷贝、深拷贝的实现
7.实现一个节流函数
…
计算机网路
- DDOS 攻击
- http请求过程
- TCP和UDP的区别以及应用场景
- tcp 中拥塞避免和流量控制机制
- http和https
- http/2
-
说下http缓存吧
Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
…
算法
- 冒泡排序
- 选择排序
- 快速排序
- 二叉树查找: 最大值、最小值、固定值
- 二叉树遍历
- 二叉树的最大深度
- 给予链表中的任一节点,把它删除掉
- 链表倒叙
- 如何判断一个单链表有环
-
给定一个有序数组,找出两个数相加为一个目标数
...
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙 点赞+评论666,后台私信【学习】即可前往免费领取!
发表评论 (审核通过后显示评论):