news 2026/6/15 7:25:51

字节跳动前端面试经验与核心知识点整理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
字节跳动前端面试经验与核心知识点整理

一、面试经历与个人感悟

面试形式:远程视频面试
影响:省去奔波但缺乏面对面交流的代入感,容易紧张

关键教训:

  1. 重视基础:不要轻视通用业务、项目经历、价值观和软技能的考察

  2. 代码习惯:过度依赖IDE提示可能导致手写代码能力下降,需做到“手到心到”

  3. 面试重点:简历熟悉度 + 底层原理考察

今日感悟:

  • CI/CD概念已深度融入工具和框架

  • 程序员高频操作:Ctrl+C / Cmd+C 与 Ctrl+V / Cmd+V

  • 开发重点从语言本身转向工具链使用(Git→Sourcetree,语言→框架)

  • 高级语言的核心价值是提升开发者效率


二、CSS核心知识点

1. display常用属性
属性值说明
none元素不显示,不占位
block块级元素,前后有换行符
inline内联元素(默认),前后无换行符
inline-block行内块元素(CSS2.1新增)
2. position定位属性
属性值说明
absolute绝对定位,相对于最近的非static父元素
fixed固定定位,相对于浏览器窗口
relative相对定位,相对于自身正常位置
static默认值,无定位,正常文档流
3. margin与padding区别
特性margin(外边距)padding(内边距)
作用对象容器外距离(自身边框到另一个容器)容器内距离(自身边框到内部内容)
取值可为负值不能为负值
典型场景兄弟元素间距父子元素内间距

示例:

html

<!-- margin: box1与box2之间的间距 --> <div class="box1"></div> <div class="box2"></div> <!-- padding: box1内部到box2的间距 --> <div class="box1"> <div class="box2"></div> </div>
4. 纯CSS实现三角形

原理:利用border属性,将元素宽高设为0,设置不同边框颜色与透明度

实现步骤:

  1. 创建带边框的div

  2. 将内部div宽高设为0

  3. 保留一个边框颜色,其他设置为透明

代码示例:

css

.triangle { width: 0; height: 0; border-width: 40px; border-style: solid; border-color: red transparent transparent transparent; }
5. rpx与px换算

在小程序开发中,rpx(responsive pixel)是响应式像素单位,换算关系与屏幕宽度相关:

  • 设计稿通常以750rpx为基准

  • 换算公式:px = rpx * (屏幕宽度 / 750)

  • 物理像素关系取决于设备像素比(DPR)

6. 垂直水平居中方案

推荐方案:Flex布局(最简单直观)

html

<div id="app"> <div class="center">hello world</div> </div> <style> #app { height: 100vh; display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ } #app .center { width: 300px; height: 300px; } </style>

三、HTTP与网络相关

7. GET与POST深度辨析

表层区别:

特性GETPOST
缓存可缓存不缓存
历史记录保留不保留
书签可收藏不可收藏
数据长度有限制(URL长度)无限制
安全性较低(数据在URL中)相对较高
用途获取数据提交数据

底层本质:

  • GET和POST都是基于TCP的HTTP请求,本质无差别

  • 关键差异在于HTTP协议和浏览器/服务器的实现:

    • GET:浏览器一次性发送header和data,服务器响应200

    • POST:浏览器先发header,服务器响应100 continue,再发data,服务器响应200

  • 虽然GET理论上性能稍优,但实际差异微乎其微,推荐根据语义选择

8. 跨域问题解决方案

开发推荐:本地NGINX反向代理

  • 避免修改后端代码或使用JSONP等复杂方案

  • 配置灵活,模拟生产环境

  • 上线后同域部署自然解决跨域


四、JavaScript核心概念

9. 闭包(Closure)

本质:函数与其词法环境的组合

特性:

  1. 创建私有变量

  2. 延长变量生命周期

  3. 避免全局污染

核心:内部函数可访问外部函数作用域,即使外部函数已执行完毕

10. 前端存储方案对比
特性cookielocalStoragesessionStorage
生命周期可设置过期时间永久(手动清除)会话结束(标签页关闭)
存储位置浏览器+服务器浏览器本地浏览器本地
请求携带每次HTTP请求自动携带不自动携带不自动携带
存储大小~4KB~5-10MB~5-10MB
APIdocument.cookiesetItem/getItemsetItem/getItem

localStorage使用示例:

javascript

const db = window.localStorage; db.setItem('name', '李四'); db.setItem('age', 22); // 存储数字会自动转为字符串 console.log(db.getItem('name')); // '李四' console.log(db.getItem('age')); // '22' // 存储对象需序列化 const obj = { key: 'value' }; localStorage.setItem('obj', JSON.stringify(obj)); const retrieved = JSON.parse(localStorage.getItem('obj'));
11. 箭头函数 vs 普通函数
特性箭头函数普通函数
this绑定继承上下文this(不可改变)动态绑定(调用者决定)
构造函数不可用作构造函数(无new)可用作构造函数
arguments不绑定,使用rest参数(...args)绑定arguments对象
原型无prototype属性有prototype属性
yield不能用作Generator函数可用作Generator函数
简洁性语法更简洁语法相对冗长

关键记忆点:箭头函数的this在定义时确定且永不改变,普通函数的this由调用方式决定。

12. var、let、const区别
特性varletconst
作用域函数作用域块级作用域块级作用域
变量提升提升且初始化undefined提升但不初始化(暂时性死区)提升但不初始化
重复声明允许不允许不允许
值修改可修改可修改不可修改(引用类型可修改属性)
13. call、apply、bind方法比较

共同点:改变函数执行时的this指向

区别:

  • callfunc.call(thisArg, arg1, arg2, ...)- 参数逐个传递

  • applyfunc.apply(thisArg, [argsArray])- 参数以数组传递

  • bindfunc.bind(thisArg, arg1, arg2, ...)- 返回新函数,不立即执行

使用场景:

  • call:参数数量明确时

  • apply:参数为数组或伪数组时

  • bind:需要延迟执行或创建偏函数时


五、总结与建议

面试准备重点:

  1. 基础扎实:CSS盒模型、定位、布局必须熟练掌握

  2. 原理深入:不要只记表面区别(如GET/POST),理解底层机制

  3. 手写能力:减少对IDE提示的依赖,能徒手实现常见功能

  4. 项目清晰:对简历上的项目经历要了如指掌

  5. 工具链:熟悉现代前端开发工具和流程(CI/CD、Git等)

心态调整:

  • 视频面试需提前熟悉技术环境

  • 紧张时深呼吸,将问题拆解回答

  • 诚实面对不懂的问题,展示学习能力

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 16:00:58

Hunyuan-MT-7B-WEBUI部署教程:打造高精度跨境电商翻译工具

Hunyuan-MT-7B-WEBUI部署教程&#xff1a;打造高精度跨境电商翻译工具 1. 背景与应用场景 随着全球跨境电商的快速发展&#xff0c;多语言内容的高效、准确翻译成为企业拓展国际市场的重要支撑。传统机器翻译工具在专业术语、语境理解及小语种支持方面常存在局限&#xff0c;…

作者头像 李华
网站建设 2026/6/15 14:13:29

BERT智能填空WebUI实战:实时预测与置信度可视化

BERT智能填空WebUI实战&#xff1a;实时预测与置信度可视化 1. 引言 1.1 业务场景描述 在自然语言处理的实际应用中&#xff0c;语义补全是一项高频且实用的功能。无论是教育领域的成语填空练习、写作辅助中的词语推荐&#xff0c;还是搜索引擎中的查询补全&#xff0c;用户…

作者头像 李华
网站建设 2026/6/15 11:20:26

效果惊艳!PETRV2-BEV模型在自动驾驶场景的案例展示

效果惊艳&#xff01;PETRV2-BEV模型在自动驾驶场景的案例展示 1. 引言&#xff1a;BEV感知在自动驾驶中的关键地位 随着自动驾驶技术的快速发展&#xff0c;基于多视角相机的鸟瞰图&#xff08;Birds Eye View, BEV&#xff09;感知已成为3D目标检测领域的研究热点。相比依赖…

作者头像 李华
网站建设 2026/6/15 11:18:10

如何用PaddleOCR-VL-WEB快速部署OCR?支持109种语言的SOTA解决方案

如何用PaddleOCR-VL-WEB快速部署OCR&#xff1f;支持109种语言的SOTA解决方案 1. 引言&#xff1a;为什么选择PaddleOCR-VL-WEB&#xff1f; 在当前多语言、多格式文档处理需求日益增长的背景下&#xff0c;传统OCR工具在复杂版式识别、公式解析和跨语言支持方面逐渐暴露出局…

作者头像 李华
网站建设 2026/6/15 11:17:52

GPEN版权风险提示:他人肖像使用法律合规建议

GPEN版权风险提示&#xff1a;他人肖像使用法律合规建议 随着深度学习技术在图像处理领域的广泛应用&#xff0c;基于生成对抗网络&#xff08;GAN&#xff09;的人像修复与增强模型如GPEN正被越来越多地用于实际场景。然而&#xff0c;在享受技术便利的同时&#xff0c;对他人…

作者头像 李华
网站建设 2026/6/15 11:18:28

小白必看!DeepSeek-R1保姆级安装教程,CPU也能跑大模型

小白必看&#xff01;DeepSeek-R1保姆级安装教程&#xff0c;CPU也能跑大模型 随着大模型技术的普及&#xff0c;越来越多开发者和爱好者希望在本地部署自己的AI推理引擎。然而&#xff0c;高昂的硬件门槛&#xff08;如显存要求&#xff09;让许多用户望而却步。今天要介绍的…

作者头像 李华