靠着这份280页的前端面试指南,拿下了字节跳动offer

news2024/9/16 14:19:41

 

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

一面

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

二面

  • 怎么优化 h5 的加载速度?
  • 离线包怎么更新?怎么知道需要打开哪个离线包?
  • js bridge 通信原理?
  • 怎么实现 h5 页面秒开?
  • 明明不是同一个语言,为什么 js 和 native 可以通信?
  • 怎么实现 js bridge 跨多个 app 共用?
  • grpc 相比 http 的优势?
  • rpc 的调用流程?前端怎么调用 grpc 的?
  • 为什么要用 grpc?
  • 服务发现为什么用 ip,而不用域名?
  • 怎么做 DNS 预解析?
  • 怎么实现移动端的布局?
  • iOS 下软键盘输入框遮挡遇到过问题么?怎么解决顶不起来的问题?
  • 实现两个大数相加
  • 求一个数组最大子项的和,要求这些子项在数组中的位置不是连续的
  • 常用的 react hooks 方法
  • useState 怎么做缓存的?
  • react fiber 是什么?
  • 怎么解决 useState 闭包的问题?
  • useReducer 比 redux 好在哪里?

三面

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

刷过的题目

下面是我花了将近一个月的时间整理的一份面试题库。这些面试题,包括我本人自己去面试遇到的,还有在面试之前刷过的题目,我都统一的整理了一下,希望对大家有用。有需要的朋友可以戳此传送门即可获取完整版的 PDF 哦

HTML&CSS

  • 你是怎么理解HTML语义化
  • 你用过哪些HTML5标签
  • metaviewport是做什么用的,怎么写?
  • label标签的作用
  • 行内元素有哪些?块级元素有哪些?空(void)元素有那些?
  • a标签中如何禁用href跳转页面或定位链接
  • canvas在标签上设置宽高和在style中设置宽高有什么区别
  • 介绍一下CSS的盒子模型
  • CSS选择符有哪些?
  • CSS3新增伪类有哪些
  • 什么是cssHACK?
  • Less/Sass/Scss的区别
  • 请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?
  • ......

JavaScript

  • 请解释什么是事件委托/事件代理
  • Javascript如何实现继承?
  • 函数执行改变this
  • babel编译原理
  • 函数柯里化
  • 说一下类的创建和继承
  • 说说前端中的事件流
  • 如何让事件先冒泡后捕获
  • 说一下图片的懒加载和预加载
  • js的new操作符做了哪些事情
  • 改变函数内部this指针的指向函数(bind,apply,call的区别)
  • Ajax解决浏览器缓存问题
  • ......

VUE

  • vue.js的两个核心是什么?
  • vue的双向绑定的原理是什么?
  • vue生命周期钩子函数有哪些?
  • 请问v-if和v-show有什么区别?
  • vue常用的修饰符
  • 什么是vue生命周期
  • 数据响应(数据劫持)
  • virtualdom原理实现
  • Proxy相比于defineProperty的优势
  • vue中key值的作用
  • ......

数据结构与算法

  • 哈希
  • ⼆叉树
  • 链表
  • 数组
  • 排序
  • 堆与栈
  • ⾼级算法
  • 动态规划

由于篇幅限制,展示了部分内容截图,有需要的朋友资料获取方式即可获取完整版的 PDF 哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1304700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AutoAnimate动画库,仅需一行代码

插件官网,支持react,vue AutoAnimate - Add motion to your apps with a single line of code 自动加动画原理 AutoAnimate 加动画的原理也很简单,监听绑定的 DOM 节点里 DOM 结构变化,自动添加对应的过渡动画: 增加子节点 > 渐入动画…

智能检测/摄像头监控系统EasyCVR无法启动进程是什么原因?如何解决?

国标GB28181智慧安防平台EasyCVR支持高清视频的接入和传输、分发,平台采用了开放式的网络结构,提供实时远程视频监控、录像回放与存储等功能。视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持…

数据库系统 --- 关系模型

一、关系模型的数据结构以及形式化定义 1.关系 域:一组具有相同数据结构的值的集合。 笛卡尔积:域上的一种集合运算。多个集合做笛卡尔积的结果是每个集合取一个元素组合得到的一个新的集合。 域的基数:一个域上允许的不同取值的个数。 关系&…

【数仓理论】

一、数仓建模方法论 1.1 ER模型(Entity Relationship、实体关系模型、范式模型) ER模型是Bill Inmon提出的一种建模方法,实体关系模型将复杂的数据抽象为两个概念 ---- 实体和关系 该模型在范式理论上符合3NF,这种模型目的是减少…

VTK学习(入门级教程,包括安装和使用)~持续更新中

说明:研究QTVTK有段时间了,准备把学到的东西分享给大家,这篇博客以VSQTVTK为主进行展开学习的。 VTK学习 VTK安装和使用教程VTK入门级教程设计界面vtkStudy.ui的操作vtkStudy.h头文件说明完整代码 vtkStudy.cpp绘制球体绘制长方体绘制圆柱绘制…

wordpress多語言插件Polylang與GTranslate會有衝突

wordpress多語言插件Polylang與GTranslate會有衝突,會導致分頁顯示不完整,需要禁用或卸載其中一個 分頁顯示才會沒問題 GTranslate必須要先按一種語言編輯好你要發佈網站,GTranslate這種語言為基礎去翻譯出來,其實內裡是套用了google 翻譯的…

第二证券:结构性行情或将延续 泛科技有望继续走强

展望未来,当时已进入重要的方针窗口期,能否有超预期的新方针推出是改变商场的要害。但复盘2023年的行情来看,过早买卖方针预期的成功率并不高,因而主张该方位以防御性资产为主,高股息资产从本年9月份至今现已调整了2个…

ubuntu dns 相关

查看dns配置 systemd-resolve --status 修改dns vim /etc/resolv.conf sudo apt install traceroute 追踪 traceroute www.baidu.com

windows下docker环境安装

开启硬件虚拟化技术 win10中开启 Hyper-V Win10 下是否开启硬件虚拟化技术,在控制面板,启用 window 功能,找到 Hyper-V 选项,点勾选确认。如图: Windows 11 家庭中文版新增 Hyper-V选项 注意以下的解决方案来自win1…

Vision Transformer模型架构详解

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

自动化测试 (一) 12306火车票网站自动登录工具

还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗。 今天我们就开发一个12306网站自动登录软件。 帮助您轻松订票 Web的原理就是,浏览器发送一个Request给Web服务器,Web服务器处理完这个请求之后发送一个HTTP Response给浏览器。 …

【JAVA】黑马MybatisPlus 学习笔记【一】

1.快速入门 为了方便测试,我们先创建一个新的项目,并准备一些基础数据。 1.1 环境配置 导入项目 注意配置一下项目的JDK版本为JDK11。首先点击项目结构设置: 导入两张表,在课前资料中已经提供了SQL文件: 最后&am…

python用来干什么的,python用来做什么的

大家好,小编来为大家解答以下问题,python用来干什么的,python用来做什么的,今天让我们一起来看看吧! 随着互联网行业的发展,编程越来越受到人们的重视,但是始终很多人并不了解编程是什么&#x…

Linux——MySQL数据库系统

一、 MySQL的编译安装 1、准备工作 (1)为了避免发生端口冲突,程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用以Rpm方式安装的mysql-server、mysql软件包,否则建议将其卸载 [rootlocalhost ~]…

13、RockerMQ消息类型之广播与集群消息

RocketMq中提供两种消费模式:集群模式和广播模式。 集群模式 集群模式表示同一个消息会被同一个消费组中的消费者消费一次,消息被负载均衡分配到同一个消费者上的多个实例上。 还有另外一种平均的算法是AllocateMessageQueueAveragelyByCircle&#xff…

element table表格内进行表单验证(简单例子,一看就会,亲测有用~)开箱即用!!

效果图&#xff1a; 代码&#xff1a; <div> <el-form ref"form" :model"form" ><el-table :data"form.tableData" align"center" border><el-table-column label"名称"><template slot-scope&…

国标GB28181安防视频云平台EasyCVR出现持续重启现象,是什么问题?该如何解决?

视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能…

边缘计算系统设计与实践

随着科技的飞速发展&#xff0c;物联网和人工智能两大领域的不断突破&#xff0c;我们看到了一种新型的计算模型——边缘计算的崛起。这种计算模型在处理大规模数据、实现实时响应和降低延迟需求方面&#xff0c;展现出了巨大的潜力。本文将深入探讨边缘计算系统的设计原理和实…

MySQL5 和 MySQL8 的配置区别 一些注意事项

1、使用命令行查看MySQL的版本 先保证你的mysql正在运行&#xff0c;假如用户名是root&#xff0c;密码是123456&#xff0c;运行下边的代码可以查看mysql的版本号。 mysql -uroot -p123456这里我的版本是5.7.19。也就是5版本的。 2、不同版本对应的数据库驱动jar包&#x…

【docker 】 安装docker(centOS7)

官网 docker官网 github源码 官网 在CentOS上安装Docker引擎 官网 在Debian上安装Docker引擎 官网 在 Fedora上安装Docker引擎 官网 在ubuntu上安装Docker引擎 官网 在RHEL (s390x)上安装Docker引擎 官网 在SLES上安装Docker引擎 最完善的资料都在官网。 卸载旧版本 …