当前位置:   article > 正文

BAT大佬写下的面试手册,我看完28天直接拿下字节跳动前端开发2-2Offer,入职就是40K16薪_字节前端2-2

字节前端2-2

字节跳动的职级研发序列一共10级

其中字节跳动创始人一鸣是5-1级,应届生一般是1-1级,中级工程师是1-2级,2-2属于资深研发人才,3-1属于初级领导, 3-2属于高级领导层,4-1、4-2、5-1、5-2都属于不同阶段的高层。为了弱化爬格子带来的攀比,字节要求员工职级严格保密,内部不讲 title 层级。一种是淡化头衔概念,只有当他们需要对外发声时,才能见到一般意义上的管理Title;另一种完全打乱工号,避免排资论排辈氛围滋生。

岗位薪酬

不同序列间月薪base差异较大,技术base整体偏高。比如2-1月薪会在20k+,2-2的package会在60w-100w左右(算上期权,大概会占30%左右)。

就校招同学们反馈:目前21届校招可以拿到14、15薪。前端开发20k左右

T2-2 级别的薪资约40k,500股票/每年,字节跳动的现金薪酬要比BAT(百度、阿里、腾讯) 们高出25%-40%。

字节前端工程师职位要求

前端开发工程师 25~45k

  1. 1、扎实的计算机基础知识,熟悉常用的数据结构、算法和设计模式,并能在日常研发中灵活使用;
  2. 2、深入理解Web前端开发技术,包括HTML/CSS/JavaScript等;
  3. 3、掌握至少一种主流前端框架,有实际项目研发经验;
  4. 4、熟悉网站性能优化,了解浏览器实现原理;
  5. 5、熟悉交互设计理论,能够将优秀的交互设计落地到产品中;
  6. 6、能够独立完成一个复杂模块或项目的研发工作;
  7. 7、具备较强的责任感、团队合作精神、逻辑思维能力和表达能力。

资深前端工程师 30~55k

  1. 1、计算机、软件、通信类相关专业,扎实的编程能力,优秀的算法和数据结构功底;
  2. 2、熟练掌握一门及以上编程语言,具有良好的编码习惯和代码风格;
  3. 3、有良好的业务抽象能力,能对复杂业务逻辑进行概念抽象,并形成富有逻辑性的架构设计;
  4. 4、熟悉 Node.js、Go、Python 等任意一种或多种语言;
  5. 5、具备良好的问题分析和解决能力,并擅于归纳和总结;
  6. 6、较好的团队协作和沟通能力,积极乐观,强烈的责任心和自我驱动力。

前端开发(高级)工程师 40~60k

  1. 1、计算机相关基础知识扎实,本科及以上学历,计算机相关专业;
  2. 2、熟练掌握各种前端技术,包括 HTML/CSS/JavaScript/Node.js 等;
  3. 3、理解工程化思想,对构建和持续集成有一定认识,熟悉一种构建工具;
  4. 4、理解组件化开发思想,有一定的设计能力,熟悉最少一种前端框架;
  5. 5、熟悉至少 Python、PHP、Java、Go 等一门后端开发语言;
  6. 6、熟悉 Node.js,了解 Express/KOA 等框架,有大型 Node.js 应用或框架开发经验者优先。

绩效考核与晋升

字节跳动内部的绩效考核一共有八级,从低到高为 F、I、M-、M、M+、E、E+、O,并会进行强制分布,对应年终奖和月薪百分比的涨薪。M就有涨薪机会。晋升面试也是主要还是看绩效考核。

每年两次考核,一般在三月和九月。考核方式借鉴了谷歌的OKR+360模式

福利

三餐免费还有下午茶。如果住在公司附近还有房补, 北京1500杭州800。
在文末有福利安排:由字节面试官整理的最新前端面试题(含答案)完整版pdf,希望大家了解并掌握这些知识点,争取通过每一轮面试!戳此即可免费获取​

2023前端字节跳动真题解析

内容大纲包括: HTML(5),CSS(3) 基础,JavaScript 基础,Vue框架,计算机网络基础,算法

HTML相关

  • HTML5 有哪些新特性?
  • Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?
  • 如何实现浏览器内多个标签页之间的通信?
  • ⾏内元素有哪些?块级元素有哪些? 空(void)元素有那些?⾏内元 素和块级元素有什么区别?
  • 简述⼀下src与href的区别?
  • cookies,sessionStorage,localStorage 的区别?
  • HTML5 的离线储存的使用和原理?
  • 怎样处理 移动端 1px 被 渲染成 2px 问题?
  • 浏览器是如何渲染页面的?iframe 的优缺点?
  • Canvas 和 SVG 图形的区别是什么?
  • meta 标签?

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有什么用处
  • 闭包是什么?
  • 闭包产生的本质
  • 一般如何产生闭包
  • 闭包的应用场景
  • 什么是作用域?
  • 什么是作用域链?
  • JS 隐式转换,显示转换
  • 了解 this 嘛,bind,call,apply 具体指什么
  • 手写 bind、apply、call
  • setTimeout(fn, 0)多久才执行,Event Loop
  • 手写题:Promise 原理
  • js脚本加载问题,async、defer问题
  • 如何判断一个对象是不是空对象?
  • <script src=’xxx’ ’xxx’/>外部js文件先加载还是onload先执行,为什么?
  • 怎么加事件监听
  • 说一下原型链和原型链的继承吧
  • 数组能够调用的函数有那些?
  • 如何判断数组类型
  • 函数中的arguments是数组吗?类数组转数组的方法了解一下?
  • 用过 TypeScript 吗?它的作用是什么?
  • ES6 之前使用 prototype 实现继承
  • 如果一个构造函数,bind了一个对象,用这个构造函数创建出的实例会继承这个对象的属性吗?为什么?
  • 箭头函数和普通函数有啥区别?箭头函数能当构造函数吗?
  • 知道 ES6 的 Class 嘛?Static 关键字有了解嘛
  • 事件循环机制 (Event Loop)
  • 手写题:数组扁平化
  • 手写题:实现柯里化
  • 手写题:数组去重
  • let 闭包
  • 变量提升
  • instance 如何使用

Vue相关

  • active-class是哪个组件的属性?嵌套路由怎么定义?
  • 怎么定义vue-router的动态路由?怎么获取传过来的动态参数?
  • vue-router有哪几种导航钩子?
  • scss是什么?在vue.cli中的安装使用步骤是?有哪几大特性?
  • mint-ui是什么?怎么使用?说出至少三个组件使用方法?
  • v-model是什么?怎么使用? vue中标签怎么绑定事件?
  • axios是什么?怎么使用?描述使用它实现登录功能的流程?
  • axios+tp5进阶中,调用axios.post(‘api/user’)是进行的什么操作?axios.put(‘api/user/8′)呢?
  • 什么是RESTful API?怎么使用?
  • vuex是什么?怎么使用?哪种功能场景使用它?
  • mvvm框架是什么?它和其它框架(jquery)的区别是什么?哪些场景适合?
  • 自定义指令(v-check、v-focus)的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?
  • 说出至少4种vue当中的指令和它的用法?
  • vue-router是什么?它有哪些组件?
  • 导航钩子有哪些?它们有哪些参数?
  • Vue的双向数据绑定原理是什么?
  • 请详细说下你对vue生命周期的理解?
  • 请说下封装 vue 组件的过程?
  • 你是怎么认识vuex的?
  • vue-loader是什么?使用它的用途有哪些?
  • 请说出vue.cli项目中src目录每个文件夹和文件的用法?
  • vue.cli中怎样使用自定义的组件?有遇到过哪些问题吗?
  • vuejs与angularjs的区别?
  • vue为什么不直接操作dom?
  • 你怎么理解vue是一个渐进式的框架?

计算机网络基础

  • HTTP 缓存
  • HTTP 常用的状态码及使用场景?
  • 你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?
  • HTTP 常用的请求方式,区别和用途?
  • 你对计算机网络的认识怎么样
  • HTTPS 是什么?具体流程
  • 三次握手和四次挥手
  • 在交互过程中如果数据传送完了,还不想断开连接怎么办,怎么维持
  • 你对 TCP 滑动窗口有了解嘛?
  • WebSocket与Ajax的区别
  • 了解 WebSocket 嘛?
  • HTTP 如何实现长连接?在什么时候会超时?
  • Fetch API与传统Request的区别
  • POST一般可以发送什么类型的文件,数据处理的问题

算法相关

链表

  • 前序遍历判断回文链表
  • 反转链表
  • 合并K个升序链表
  • K 个一组翻转链表
  • 环形链表
  • 排序链表
  • 相交链表

字符串

  • 【面试真题】最长回文子串【双指针】
  • 最长公共前缀【双指针】
  • 无重复字符的最长子串【双指针】
  • 【面试真题】最小覆盖子串【滑动窗口】

数组问题

  • 【面试真题】俄罗斯套娃信封问题【排序+最长上升子序列】
  • 最长连续递增序列【快慢指针】
  • 最长连续序列 【哈希表】
  • 【面试真题】盛最多水的容器【哈希表】
  • 寻找两个正序数组的中位数【双指针】
  • 删除有序数组中的重复项【快慢指针】
  • 和为K的子数组【哈希表】
  • nSum问题【哈希表】
  • 【面试真题】接雨水【暴力+备忘录优化】
  • 跳跃游戏【贪心算法】

二叉树

  • 二叉树的最近公共祖先
  • 二叉搜索树中的搜索
  • 删除二叉搜索树中的节点
  • 完全二叉树的节点个数
  • 二叉树的锯齿形层序遍历

排序算法

  • 用最少数量的箭引爆气球
  • 合并区间【排序算法+区间问题】

二分查找

  • 判断子序列【二分查找】
  • 在排序数组中查找元素的第一个和最后一个位置【二分搜索】

  • 最小栈【栈】
  • 下一个更大元素
  • 【面试真题】有效的括号
  • 简化路径

回溯算法

  • N皇后
  • 全排列
  • 括号生成
  • 复原 IP 地址
  • 子集

其他

  • Webpack与gulp区别
  • 请简述webpack中的loaders与plugin的区别
  • 说一下webpack的打包原理
  • Git如何使用/常用指令有哪些
  • 前端模块化
  • 如何优化网站
  • nodejs的架构、优缺点、回调
  • 问做过啥项目,用到什么技术,遇到什么困难
  • Cookie跨域请求能不能带上
  • redis的数据结构
  • mongodb冗余字段的方式和mysql有啥不同,缺点
  • 请用JS实现Ajax并发请求控制
  • 请说一下vuex工作原理
  • vue和react有什么区别,更喜欢用哪个,为什么
篇幅限制,仅展示了部分内容截图,需要面试题文档完整版的,戳此免费获取 ​自行下载《2023前端字节跳动真题解析有答案》!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/382825
推荐阅读
相关标签
  

闽ICP备14008679号