目录

  • 前言
  • 楔子
  • 正文
    • 面试前做出的准备
    • 快要面试时做出的准备
    • 面试前奏
    • 面试高潮
    • 面试尾声
  • 小技巧
  • 总结

前言

你好,我是星辉,幸会幸会。
今天我参加了字节跳动的前段视频第一次面试,把它记录总结下来,希望能够对大家带来帮助。

楔子

投递简历后过了一段时间接到约面小姐姐的电话,了解你的具体的实习时间段,和你约定面试时间。你确认后小姐姐挂电话。过段时间hr给你发视频面试的链接,是牛客网用来面试的链接。

正文

面试前做出的准备

我在面试前准备以下几点东西,似乎都解决了面试的部分问题

  • 面试前我查阅了其他朋友写的字节跳动的面经以及面试题目,寻找题目解答,把它们总结了下来,用了一天一夜的时间,并把它们放到了我的这个博客上面。
  • 我做了一份详细的自我介绍,通过三段开发经历来总结出了我的一些优点和开发经验,用讲故事的形式说明情况,最后点明故事中表现了自己具有哪些素质,点明自己为什么可以做前端的工作。字节跳动的宗旨“和优秀的人一起做有挑战的事情”也被我用到了自我介绍中,“我认为我是优秀的人,也喜欢做有挑战的事情,更喜欢与优秀的人为伍”“我希望搭上字节跳动这架火箭”等等。

快要面试时做出的准备

快要面试了,第一次面试,有些紧张,但还是像平常考试一样,将总结下来的面试题目总结、前端遇到问题的总结又看了一遍,把自己做好的自我介绍熟悉的几遍,给自己亲近的朋友发条消息获得她的祝福,又站在电脑桌前活动了一下身子,头脑顿时清醒利索了许多。

面试前奏

由于紧张怕错过面试,早早的便坐在了电脑桌前。面试官迟到了一会,就给我发起了面试视频邀请,终于开始了。
迎面是一个挺帅气的哥哥,简单的打了一下招呼,就进入了自我介绍的环节。由于自我介绍我已经熟悉过几遍了,自我介绍的效果看起来效果还是不错的。
开始问我项目经历的细节以及自我介绍中的细节,由于项目经历确实是自己亲身经历过的事情,并且我一般项目完成时都会做一下总结,所以也能够答个头头是道。个人感觉上的,至于面试官怎么想的,我就不清楚了, 说不定是那种我就静静的看着你装逼的情况。

面试高潮

来了来了,开始问技术的问题了。

  • 你对Vue的理解有多少
    因为我在简历的项目经历中写了一个Vue项目,于是他问的时候就把我在项目中对Vue的理解和面试前准备的Vue总结结合起来回答。
  • 用css2和css3分别写一下垂直居中和水平居中
    这道题我不会,并不知道css2和css3有什么区别以及写法,只会css3,我脑袋里有面试前总结的垂直居中和水平居中其中的两种方式,我就给他讲了一讲,倒是他没有再问下去,可能看出来我不会了吧。这也体现出了面试前知识点总结复习的重要性,不然你不会的东西你连说都不会说。
css3新增了一些属性,像flex,这是css3中很重要的改变,所以除了flex以外的垂直水平居中的技巧都是属于css2的。
- css2的水平居中技巧
将元素display为行内元素,再text-align:center;即可
或者
将块级元素定义一个宽度,再margin: 0 auto;即可
- css3的水平居中技巧
将元素display设为flex,再通过justify-content: center; 实现居中。
- css2的垂直居中技巧
单行内容的垂直居中可以通过设置相同height值和line-height值来实现。
多行内容的垂直居中且高度可变可以通过设置上下相同的padding值来实现。
行级盒子:小图标和标题对齐设置vertical-align: middle。
绝对定位:top:50%; left:50%;的方法,需要已知块级的宽高
- css3的垂直居中技巧
将元素display设为flex,再通过align-items:center;来实现。
  • 你对计算机网络的认识怎么样
    又是一道探底的题,判断能否从这里给你出题考察你
  • 讲述一下计算机网络的七层
    应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
  • TCP和UDP的区别是什么
TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快
TCP和UDP协议的一些应用例子:
TCP一般用于文件传输(FTP HTTP 对数据准确性要求高,速度可以相对慢),发送或接收邮件(POP IMAP SMTP 对数据准确性要求高,非紧急应用),远程登录(TELNET SSH 对数据准确性有一定要求,有连接的概念)等等;UDP一般用于即时通信(QQ聊天 对数据准确性和丢包要求比较低,但速度必须快),在线视频(RTSP 速度一定要快,保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的),网络语音电话(VoIP 语音数据包一般比较小,需要高速发送,偶尔断音或串音也没有问题)等等。原文:https://blog.csdn.net/buster2014/article/details/40082109
  • TCP和UDP属于计算机网络中的哪一层
网际层协议:IP协议、ICMP协议、ARP协议、RARP协议
传输层协议:TCP协议、UDP协议
应用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS
  • HTTPS是什么
HTTPS即加密的HTTP,HTTPS并不是一个新协议,而是HTTP+SSL(TLS)。原本HTTP先和TCP(假定传输层是TCP协议)直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在了HTTP和TCP之间
  • 介绍几种常见的状态码
2XX系列:代表请求已成功被服务器接收、理解、并接受。
200状态码:表示请求已成功,请求所希望的响应头或数据体将随此响应返回
201状态码:表示请求成功并且服务器创建了新的资源,且其 URI 已经随Location 头信息返回。
3XX系列:代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。
301状态码:被请求的资源已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302状态码:请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。
304状态码:自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
4XX系列:表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。
401状态码:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403状态码:服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。
404状态码:请求失败,请求所希望得到的资源未被在服务器上发现。
5xx系列:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。
500状态码:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。
503状态码:由于临时的服务器维护或者过载,服务器当前无法处理请求。
  • 闭包是什么
    闭包就是能够读取其他函数内部变量的函数。
    闭包的用途:可以读取函数内部的变量,并且让这些变量的值始终保持在内存中。
// 输出全为10
for(var i=0;i<10;i++){setTimeout(function(){console.log(i);},50);
}// 输出相应的输出
for(var i=0;i<10;i++){(function(i){setTimeout(function(){console.log(i);},50);})(i);
}
  • NaN是什么,用typeof会输出什么
    Not a Number
    会输出 Number
  • js的隐性转换和显性转换
隐性转换为: 1 + '1' = '11'
显性转换
Number("24 cccc");//结果:NaN
ParseInt("24 cccc");//结果:24
备注:Number的显性转换比较严格,若无法强转则直接报错面试官后引伸了两个问题
1 + -'1' + 1 等于什么
等于 0 ,'1'前面的负号把其数字化,变为-1,则后值为1
'A' - 'B' 等于什么
NaN
  • 跨域问题如何解决
    同源策略:浏览器安全策略,同协议、ip、端口的脚本才会执行。
    只要协议、域名、端口有任何一个不同,都被当作是不同的域
    js跨域是指通过js在不同的域之间进行数据传输或通信
1. 通过jsonp跨域
jsonp在页面上引入不同域上的js脚本文件实现请求不同域上的数据
(1) 通过script标签引入一个js文件
(2) js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入
注:需要服务器端的页面进行相应的配合
2. 通过修改document.domain来跨子域
3. 使用window.name来进行跨域
window对象有个name属性,该属性有个特征:即在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。
  • 知道babel么
    可以实现将ES6编译为ES5代码
  • 用js实现判断一个变量是否为整数的函数
实现思路:先判断该变量是否为Number类型,以此来缩小范围,再判断该变量除以1后是否与原值全等,若全等则返回true,若不全等则返回false
  • 进程和线程是什么
    线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。
    进程指计算机中已运行的程序。
    线程指操作系统能够进行运算调度的最小单位。
  • 死锁是什么
    当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁。
  • Left Join、Right Join、Inner Join 指的是什么
LEFT JOIN 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行
RIGHT JOIN 关键字会右表那里返回所有的行,即使在左表中没有匹配的行
在表中存在至少一个匹配时,INNER JOIN 关键字返回行
  • 快速排序用js怎么写
function quickSort(arr) {if(arr.length<=1) {return arr;}var s = Math.floor(arr.length/2);var temp = arr.splice(s,1);var left=[];var right=[];for(var i=0;i<arr.length;i++) {if(arr[i]<temp) {left.push(arr[i]);}if(arr[i]>=temp) {right.push(arr[i]);}}return quickSort(left).concat(temp,quickSort(right));  }

面试尾声

面试官的突然一声“我这边没有什么问题了”,吓了我一跳,悬了悬了,我还想着跟他唠嗑两小时呢,唠嗑的感觉真好。
“我这边没有什么问题了,请等待hr的通知吧”

小技巧

  • 做项目小技巧
    每次项目完成后,都需要做一下项目的总结,这是做一两个项目并做总结的人比做很多的项目不做总结的人看起来更有经验的原因。古人说的好,“总结反思才能成长”。
  • 做简历小技巧
    套模板,注意写下什么时间毕业,尽可能的填充项目经验,项目经验写的详细些,重点是从项目中学到了什么。
  • 面试写代码小技巧
    写的代码记得加注释,考虑代码的时间复杂度问题,不会写代码一定要给面试官说一下你的思路,脑袋中想到什么说什么,部分解决方法也比说一声我不会强太多。

总结

  • 实习的面试多进行基础知识的储备

字节跳动前端面试经历及总结相关推荐

  1. 【面经】记一次字节跳动前端面试经历

    文章来自公号粉丝,本文转载自他的博客. 博主找我修改简历,给他提了一些建议,不久他就收到了字节跳动面试.(不知道是不是提的建议有效果--) PS:文中加了一些我的注释. 正文如下: 太长不看版 对于实 ...

  2. 小米前端面试、字节跳动前端面试、百分点前端面试-面试总结

    小米前端开发面试(社招,南京) 小米面试问的问题都会涉及到具体的原理,每个技术点都要求深入的理解.小米的前端社招面试基本会经过四轮技术面试,面试通过之后HR会和你联系询问你的薪资期望,之后小米会有两天 ...

  3. 前端笔试能查吗_老码农的字节跳动前端面试总结

    有幸得到猎头推荐参加字节跳动工程效率部的前端面试,为此准备了一周的时间,面试前内心十分忐忑,略微有些小紧张. 由于是下午面试,所以早早起床,翻出许多年前购买的,几近翻烂的<JavaScript设 ...

  4. 亲身分享一次 字节跳动 真实面试经历和面试题

    前言 朋友们好,我是Tongyao,分享一次亲身经历的大厂字节跳动面试感受! 大概今年在2月分底左右,偶然收到字节跳动hr的面试邀请,在双方约定好的时间内进行面试. 字节跳动首先会给你的邮箱发送一个面 ...

  5. 字节跳动笔试面试经历

    1.笔试 (1)第一道:动态规划 这是一个多重背包问题! 然后..当然..不会做!!!QWQ (2)第二道:贪心 和51NOD上面的贪心教程上的两个教室和上课的例子很像! (3)第三道:启发式算法 我 ...

  6. 【面经】记一次字节跳动后端面试经历

    太长不看版 对于实习招聘(甚至校招)来说,项目经历可能是获得面试的敲门砖,但是基础绝对是赢得面试的通天索. 即使是实习招聘,白板写代码也很可能逐渐成为主流面试的标配,平时要有意识地锻炼这方面能力,要不 ...

  7. 记录字节跳动前端面试,四轮技术面

    一面 笔试题:多刷字节题库,多考js编程题,两道算法题,基本时lotcode简单中等题 1.如果后端传给前端一个很大的数,前端会怎么处理,该怎么处理? 分析:不能直接渲染,因为会使页面加载过慢,不利于 ...

  8. 字节跳动EE部门前端面试经历及总结

    估计阅读时长:10min(未完待更) 目录 前言 上次面试面经的链接 楔子 正文 面试前做出的准备 面试前奏 面试高潮 面试尾声 小技巧 总结 笔试方面 面试方面 前言 你好,我是星辉,幸会幸会. 今 ...

  9. 关于字节跳动前端校招一二三面+HR面试过程

    分享一下字节跳动 前端校招 一二三面+hr面 一面 (视频面 1小时35分钟) 20年3月1日 标题 自我介绍 vue和react有什么区别,更喜欢用哪个,为什么 react hook熟悉吗,解决了什 ...

最新文章

  1. “坑爹”排行榜:Java语言最违反常识的功能点TOP 10
  2. C#制作自定义安装程序
  3. python 命令行参数-Python 命令行参数解析
  4. php鼠标经过显示文本,CSS_HTML和CSS做网页实例教程:鼠标滑过文字改变,关于HTML+CSS的实例效果很多, - phpStudy...
  5. 阿里开源Canal--①简介
  6. Hive 05_hive变量、动态分区
  7. 倒序存放数组java_java实现数组中的逆序对
  8. h3c交换机配置文件的导出
  9. android可以有一个悬浮窗口在进入屏保状态显示,点击进入应用,Android如何实现锁屏状态下弹窗...
  10. SPOJ COT Count on a tree(主席树+倍增lca)
  11. js动态显示时间和日期
  12. Codejock Suite Pro 19.3.0 Carck版本
  13. IDEA设置背景颜色
  14. 计算机藏应用,应用隐藏大师计算器
  15. 【✈躺平了,三分钟学bat脚本✈】adb shell 执行命令 + bat脚本延时操作
  16. [php]-Tp5.1反序列化学习
  17. 功能测试VS性能测试
  18. java do po dto_彻底搞懂DAO,PO,BO,DTO,VO,DO
  19. 白盒测试中的逻辑覆盖法
  20. 【CSS3】渐变背景

热门文章

  1. typora最好用的主题_Typora 使用教程
  2. 朋友圈炫富背后的微信营销套路
  3. word中创建文本框
  4. 博达,在Dreamweaver中提交模板上传被服务端拒绝
  5. Heroes TD详解:一款免费的NFT Play-to-Earn收藏塔防策略游戏
  6. 2021年化工自动化控制仪表考试题库及化工自动化控制仪表最新解析
  7. 2021年化工自动化控制仪表试题及解析及化工自动化控制仪表操作证考试
  8. 关于你不知道的自动光学检测AOI系统
  9. Android开发实战《手机安全卫士》——4.“手机防盗”模块拓展 手势移动
  10. jQuery Validate密码验证的基本使用