• 憾住了!“吃透”字节跳动面试,四轮技术面通过,成功拿到offer


    笔者是在去年秋招面试的头条教育线,顺利拿到了offer,把还记得的东西写下来,供大家参考一下。

    【PDF文末拿】

    一面:

    笔试题

    1.如果后端传给前端一个很大的数,前端会怎么样,该怎么处理?

    2.new的过程

    3.浏览器的缓存机制(强缓存和协商缓存)

    4.用css3写一个环形进度条

    5.一道关于promise的任务控制编程题

    6.说说BFC是什么,能解决什么问题

    面试流程

    自我介绍然后说一个印象深刻的项目。。。

    1.浏览器是怎么加载一个HTML的(解析dom,css,js过程。。。)

    2.vue-router实现的原理

    3.回流重绘,为什么用transform写动画不用position top left

    4.if...else...多层嵌套怎么解决

    5.编程题:n维数组转换成1维数组,比如:[1,[2,3],[[4],[5,6]]]变成[1,2,3,4,5,6]

    二面:

    前端负责人面,自我介绍然后聊项目经验(一定要讲一些出彩的项目,什么难点,如何突破),聊了些工作经历(为什么想换工作,以前的工作有什么收获,自身的缺点)。。。

    技术题问的不多

    1.写一个EventEmitter

    三面:

    主管面,介绍工作经历,聊项目亮点balabala

    1.编程题,在一个无序数组中找到第二大的数

    2.项目设计题,写一个***大战(写出类和属性方法,不需要实现)

    3.***大战的各个动画是怎么动起来的(游戏引擎怎么运作)

    4.当浏览器地址栏输入一个url到页面展现,这个过程?

    5.https过程

    6.http和tcp的关系

    四面:

    北京交叉面,主要是聊项目(有亮点的项目,涉及架构的项目等),工作中做了什么,未来职业规划是什么,面试官最后还给了一定的建议。

    刷过的题目

    下面是我花了将近一个月的时间整理的一份面试题库。这些面试题,包括我本人自己去面试遇到的,还有在面试之前刷过的题目,我都统一的整理了一下,希望对大家有用。

    HTML

    浏览器页面有哪三层构成,分别是什么,作用是什么?

    HTML5的优点与缺点?

    Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

    HTML5有哪些新特性、移除了哪些元素?

    你做的网页在哪些浏览器测试过,这些浏览器的内核分别是什么?

    每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗?

    说说你对HTML5认识?(是什么,为什么)

    对WEB标准以及W3C的理解与认识?

    ......

    CSS

    解释一下CSS的盒子模型?

    请你说说CSS选择器的类型有哪些,并举几个例子说明其用法?

    请你说说CSS有什么特殊性?(优先级、计算特殊值)

    常见浏览器兼容性问题与解决方案?

    列出display的值并说明他们的作用?

    如何居中div, 如何居中一个浮动元素?

    请列举几种清除浮动的方法(至少两种)?

    block,inline和inlinke-block细节对比?

    什么叫优雅降级和渐进增强?

    说说浮动元素会引起的问题和你的解决办法

    你有哪些性能优化的方法?

    ......

    JavaScript

    js的各种位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的区别?

    js拖拽功能的实现

    异步加载js的方法

    js的防抖与节流

    说一下闭包

    说说你对作用域链的理解

    JavaScript原型,原型链 ? 有什么特点?

    请解释什么是事件委托/事件代理

    Javascript如何实现继承?

    函数执行改变this

    babel编译原理

    函数柯里化

    说一下类的创建和继承

    说说前端中的事件流

    如何让事件先冒泡后捕获

    说一下图片的懒加载和预加载

    js的new操作符做了哪些事情

    改变函数内部this指针的指向函数(bind,apply,call的区别)

    Ajax解决浏览器缓存问题

    .....

    由于篇幅限制,展示了部分内容截图,需要完整文档资料的,文末拿!

    Vue

    Vue中 key 值的作用

    Vue 组件中 data 为什么必须是函数?

    vuex的State特性是?

    介绍一下Vue的响应式系统

    computed与watch的区别

    介绍一下Vue的生命周期

    为什么组件的data必须是一个函数

    组件之间是怎么通信的

    Vue.cli中怎样使用自定义的组件?有遇到过哪些问题吗?

    Vue如何实现按需加载配合webpack设置

    简单描述每个周期具体适合哪些场景

    scss是什么?在Vue.cli中的安装使用步骤是?有哪几大特性?

    聊聊你对Vue.js的template编译的理解?

    Vue 路由跳转的几种方式

    Vue如何实现按需加载配合webpack设置?

    Vue的路由实现:hash模式和history模式

    Vue与Angular以及React的区别?

    Vue路由的钩子函数

    什么是Vue的计算属性?

    ......

    React

    介绍一下react

    React单项数据流

    react生命周期函数和react组件的生命周期

    react和Vue的原理,区别,亮点,作用

    reactJs的组件交流

    有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢

    项目里用到了react,为什么要选择react,react有哪些好处

    怎么获取真正的dom

    选择react的原因

    react的生命周期函数

    setState之后的流程

    react高阶组件知道吗?

    React的jsx,函数式编程

    react的组件是通过什么去判断是否刷新的

    如何配置React-Router

    路由的动态加载模块

    Redux中间件是什么东西,接受几个参数

    redux请求中间件如何处理并发

    浏览器

    跨标签页通讯

    浏览器架构

    浏览器下事件循环(Event Loop)

    从输入 url 到展示的过程

    重绘与回流

    存储

    Web Worker

    V8垃圾回收机制

    内存泄露

    reflow(回流)和repaint(重绘)优化

    如何减少重绘和回流?

    一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

    localStorage 与 sessionStorage 与cookie的区别总结

    ......

    服务端与网络

    HTTPS和HTTP的区别

    HTTP版本

    从输入URL到页面呈现发生了什么?

    HTTP缓存

    缓存位置

    强缓存

    协商缓存

    缓存的资源在那里

    用户行为对浏览器缓存的影响

    缓存的优点

    不同刷新的请求执行过程

    ......

    算法与数据结构

    二叉树层序遍历

    B树的特性,B树和B+树的区别

    尾递归

    如何写一个大数阶乘?递归的方法会出现什么问题?

    把多维数组变成一维数组的方法

    说一下冒泡快排的原理

    Heap排序方法的原理?复杂度?

    几种常见的排序算法,手写

    数组的去重,尽可能写出多个方法

    如果有一个大的数组,都是整型,怎么找出最大的前10个数

    由于篇幅限制,展示了部分内容截图,需要完整文档资料的,私信【Java】即可!!

  • 相关阅读:
    音频数据分析注意事项
    《canvas》之第6章 图片操作
    不堆概念、换个角度聊多线程并发编程
    verilog 内置语句
    前端无感登录(无感刷新token)
    springboot+基于Java的果蔬产品销售系统 毕业设计-附源码131110
    驱动day2:LED灯实现三盏灯的亮灭
    微信小程序 基础 知识点汇总 总结
    python基于django或flask开发的健身俱乐部网站rix1z
    【Linux root用户,用户切换命令,sudo命令】
  • 原文地址:https://blog.csdn.net/m0_73256420/article/details/126540356