欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

字节跳动前端开发实习生 三轮技术面面经

程序员文章站 2022-06-19 16:02:13
我投递的是头条的前端开发实习生,通过内推投了简历,差不多两天HR就打电话约面试了,整体来说字节的面试效率还是很高的,面试官人也都很好,在面试前我在leetcode刷了很多题,也看了很多其他人的面经,下面分享一下我的面试过程,下面我的回答不一定正确,仅供参考一面(1h20m)上来就是一道算法题1、js数组的去重我用了ES6中的Set,一行搞定面试官:如果不支持ES6呢?我:可以用循环面试官:数组里面还可能有对象、数组、字符串呢,怎么去重emmm后面一顿操作,在面试官的提示下还是没写出来,但是...

我投递的是头条的前端开发实习生,通过内推投了简历,差不多两天HR就打电话约面试了,整体来说字节的面试效率还是很高的,面试官人也都很好,在面试前我在leetcode刷了很多题,也看了很多其他人的面经,下面分享一下我的面试过程,下面我的回答不一定正确,仅供参考


一面(1h20m)

上来就是一道算法题
1、js数组的去重
我用了ES6中的Set,一行搞定
面试官:如果不支持ES6呢?
我:可以用循环
面试官:数组里面还可能有对象、数组、字符串呢,怎么去重
emmm后面一顿操作,在面试官的提示下还是没写出来,但是他说能看得出我的方向是对的,只是思路可能有点乱
换题

2、CSS实现一个直径10px的半圆
写完之后面试官问了一下我用到的属性的作用
后面面试完了去试了一下我的代码显示出来的不对。。。

3、CSS实现等腰直角三角形
很简单,利用border

4、深拷贝
写了一下代码,写出来了,之前有了解过

5、JS的基本数据类型
Number,String,Boolean,undefined,object,null
ES6新增symbol,还有个bigint(没了解过)
一开始漏了一个始终想不起来是哪个。。。后面换下一题的时候想起来漏了boolean

6、this相关
简单介绍一下this
改变this指向(apply,call,bind)
分别说一下
用apply实现bind
面试官:之前是不是写过
我:是。。
就没叫我写了,下一题

7、闭包
概念,给了一段代码问我这是不是闭包,又给了一段代码问我输出
闭包的好处(避免全局污染,保护变量),缺点(内存泄漏),怎么解决(不会)

8、http状态码
说了几个常用的,200,404,500等,还分别说了一下1-5数字开头的意义

9、盒模型
简单说了一下,有ie盒模型和标准盒模型
区别(width包括的不同)
怎么设置(box-sizing)
box-sizing有哪些属性,简单说一下(border-box,padding-box等等)

10、position有哪些属性
我:absolute,relative,fixed,sticky(漏了个static)
面试官:简单说一下

反问:
1、
我:如果这次面试通过的话,下次面试大概在什么时候?
面试官:应该是连着吧,一会会有hr联系你

差不多20分钟后hr就打电话通知我第一轮面试过了,第二轮面试约的隔了两天


二面(1h10m)

1、先是简单跟我聊了一下项目和前端的学习情况

2、v-for的key为index为什么不行
我:比如1 2 3 4 5,我要在2节点和3节点之间插入一个新节点6,这时候index就没有一一对应了

3、nodejs(因为简历中写了正在学习node,所以简单问了我)
面试官:学到什么程度
我:还很基础,有用过它创建服务器
面试官:怎么创建呢?
我(想了一会):有点忘了
面试官:你可以查阅资料,我看看你遇到问题是怎么解决的
然后我就百度找,随便打开了一个博客,找到了创建的方法
面试官:为什么不去看官方文档呢?
我:。。。
字节跳动前端开发实习生 三轮技术面面经
4、new Vue()做了什么事情
面试官:问个你博客里写到的,new Vue()做了什么事情,有哪一块印象比较深刻吗,当时为什么会想到去看他的源码

5、html5有哪些好玩的新特性
我:canvas。。

6、实现一个布局,三个div盒子,左右两个宽高固定,中间的自适应
我用flex布局实现了
面试官:还能用什么方法
我:百分比,em,rem

7、Linux常用的命令
脑子一抽只记得cd,rm,想不起其他的,也不知道为什么突然就想不起来

8、问了几个git命令

9、用原生js实现一下JQuery的$(".class #id")
document.getElementById()
document.getElementsByClassName()

10、请求头部有哪些
我没回答上来
面试官:这个很简单不应该不会的哦

11、用js实现JSON.stringify()
面试官:可以用自己的ide写代码
一顿操作后还是有些小问题,面试官稍微提示了一下我,让我说了一下思路,然后就结束了

反问:
1、
我:前端实习生会不会安排去学习一些后端方面的东西?
面试官:对于实习生来说的话是不会的,主要先让他们搞好自己这一块

2、
我:因为小程序近几年比较火,所以想问下前端实习生会不会有接触小程序的机会
面试官:会有的


三面(55m)

1、先简单聊了一下
为啥学习前端,什么时候接触的,是否确定往前端发展

2、聊项目
印象最深刻的是哪个项目,当时做这个项目的动机是什么?项目有遇到什么困难吗?如果很多数据要展示加载过慢怎么办?(分页)

3、跨域
有哪些解决方式?(jsonp、document.domain,CORS等)
jsonp的原理是什么?(<script>标签的src属性支持跨域)
jsonp有什么局限性?(只能get请求)
面试官:为什么只能get请求你知道吗
我:没了解过
面试官:想一想,分析一下为什么
我:(思考了一会)可能是由于他的请求数据是跟在url后面?因为它利用src,所以只能跟在url后面?
面试官:对,所以他没办法放到消息体中传送

相关标签: 面试