字节前端秋招提前批面经

6.24更:
昨天进行了三面,面试官应该是直属leader,先做了自我介绍,然后问题基本围绕框架、我自己做的项目,以及Webpack使用、配置、打包一些相关的问题,还有项目部署在gitee上的问题,用单页面模板封装了个通用tab组件,项目中遇到的最难的问题是什么,还顺带问了一些拥塞控制、进程死锁等偏基础理论的题,问了快排原理,问我学过哪些专业课,问我自己觉得前两轮面试有哪些题答的不好。本来业务问题就答的不算太好,再加上专业课有的确实没学过,有的还忘了,开始和结束,面试官也一直在确认我能去实习的时间,我表明可能去不了,后来也说了hr帮我投的是提前批。情理之中,下午查进度,直接Ended了😭有点难受,不过确实是我自己不够好造成的。

继续改简历,学知识,做项目去了。


QUESTION

一面:

自我介绍

  1. 为什么选择计算机?为什么选择前端?(本人跨专业考研)
  2. HTTP有哪些method?
  3. get和post有什么区别?
  4. 浏览器会对用户的哪些请求方法做记录?
  5. 请求的状态码有哪些?
  6. 浏览器对资源的缓存流程?
  7. 跨域及跨域方案;为什么写在服务端的东西,前端能获取到?(这个问题是在我解释了JSONP的<script>引用,通过在本地的<script>中调用服务端提供的API来获取数据,存入变量之后提出的,我不是很理解问题的意思,面试官的表述是,“请求不是我发的,我不知道会返回什么样的数据,怎么把拿到的结果,再把它赋给变量”)
  8. 浏览器的事件冒泡及事件捕获?怎么取消事件冒泡?事件代理?
  9. ul中有多个li,怎么知道自己点击的是第几个?(我说的超麻烦,用parent获取children的数组,然后来进行遍历判断是否相等,面试官说其实用dataset来做更方便)
  10. CSS的display有哪些值?inline和block的区别?inline的元素能设置宽高、margin属性吗?(inline元素不能设置宽高,外边距只能设置左右,不能设置上下)
  11. 垂直居中布局有几种办法?
  12. 怎么用CSS画一个三角形?
  13. (代码)有序数组合并,如:
let a = [1,3,5]
let b = [2,4,6]
merge(a,b)  // [1,2,3,4,5,6]
  1. (代码)写了简单的实现思路,然后面试官问我哪些地方可以优化

在这里插入图片描述

一面就这么结束了,面试官问我还有啥问题,我问通过面试感觉我的哪些环节比较薄弱?为什么没有问框架?面试官跟我讲解了下,说是“重基础,框架只是工具,学起来快,而且二面就会问到”。是的,突如其来的二面就在十分钟后进行!

二面:

  1. 实现两栏布局,左边div固定宽度,右边占满屏幕。当我用display:flex;解决后,问了我其他方案,及双飞翼模型。
  2. 鼠标悬浮做一个div动画,如悬浮时上移10px;(我用translateY写了以后,问我是否会用transition写,我说不会)
  3. border-box和content-box的区别;<div style="width: 200px;padding: 10px;margin: 20px"><div>在两种盒模型下获取div的宽度分别是多少?
  4. CSS选择器的优先级,以下选择器优先级顺序:
    (1)#foo div;(2).foo .bar div;(3).foo~.bar div
    追问:
    (2)换成.foo .bar .foo-1 .foo-2 div优先级有没有可能比(1)高
  5. 线程和进程的区别,JS是单线程的吗?
  6. 写一个函数返回当前节点是其父元素的第几个节点。
function getNodeIndex(node){
	let index = 0;

	return index;
}
  1. 实现一个JS的sleep:
async function sleep(time){

}
await sleep(3000);
console.log(hello);
  1. 写一个正则匹配出图片的后缀:(要求写明字符串匹配的API)
var str = "https://sf3-ttcdn-tos.patatp.com/img/edux-data/xxxxxxxxxxxxxxxxxxx~0x0.jpg"
  1. 手写拖拽效果(这题我要好好说说,大概四个月前,我写过,但我全忘了,我就说“我能说说实现思路吗?我现在写不出来”,面试官答应了,等我说完,面试官说你试着再写写,我试了一分钟,选择放弃,面试官说,不然你去网上查查API啥的,别直接搜答案就行,我搜了,我依旧说,我写不出来,面试官开始引导我修改刚刚写错的代码,我的天啦!这也太好了吧(´▽`ʃ♡ƪ)手动比心)
  2. v-showv-if的区别及使用场景
  3. 在Vue中怎么声明数据才能防止被Vue监听 (我说写在data外面,追问:怎么写?我说在export default上面写,追问:这样还是能被访问到,我不想被访问到,我说不知道,现在来想,难道是想问我闭包?)
  4. 发送请求用什么?(我说:AJAX)
  5. get和post的区别?
  6. 计算机分为哪几层?
  7. 应用层有哪些协议?PING属于哪一层?ping 127.0.0.1有什么作用?
  8. git里面怎么查看前几次commit的信息?只上传某一个文件怎么操作?
  9. 平时用哪些封装的包来发送网络请求?(axios)

总结

一面,题目答的都不算太好,但也还顺利,两道代码题比较简单,做得也快,遇到的问题面试官也都在我答错后进行指出并耐心讲解了,面试体验非常好;

二面,CSS和DOM也差点把我问死了,好在每题我也说上了一点,面试官人也很好,不断给我机会😂,好多API也记得不清楚,面试官也没挑我的理,重在看解决思路;后面有几题可以看出有点偏计算机系统了,奈何我没学这门专业课,就挺尴尬,hhhh~

两场面试下来就是,体验非常好,耐心引导、讲解,之前面其他大厂基本没这待遇;第二感觉就是快,当天晚上,接到了hr的电话,约三面,有点惊讶,这是不是太快了点?不知道该快乐或是慌张😂

不说了,准备明天的面试去了~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值