9.27百度【前端】一二面+字节跳动【前端】一面 (拉闸)
百度一面(1h)2020-09-27 上午 10:00 (女面试官,和蔼可亲,我笑她也笑,体验极好!)
- 自我介绍(主要介绍了一下自己的小程序项目)
- 防抖和节流(项目里用到了,面试官就相应的问了一下)【顺利】
- 手写Promise(写了一个构造函数,然后就没有然后了...面试官怕我尴尬,直接下一题了)【拉胯】
- 解决跨域的方法(说了自己用过的三种方法:jsonp、Nginx,SpringBoot使用@CrossOrigin,其他的不了解,没敢说,掘金上有九种方法)【一般拉胯】
- 手写jsonp(前面刚说完用过jsonp,紧接着让我实现😂,简单说了下实现原理,面试官看我一时半会写不出来,也没为难我,直接下一题了)【拉胯】
- BFC避免外边距重叠(举了个小例子,问两个div的边距问题,虽然没有明着问BFC,但是肯定就是考这个点)【顺利】
- js继承方式 (半天憋出来两个,构造函数继承和原型链继承)【拉胯】
- 原型和原型链(果然刚说完原型链就来了,幸好面试前特地看过)【比较顺利】
- 原型链继承的缺点 (直接懵逼,优点我都不知道,让我说缺点😂,就记得原型会使引用类型数据共享,稍微试探了一下,面试官也没说啥,就下一题了)【拉胯】
- 页面跳转的方式(估计看我总是傻笑,换了个简单的题,让我喘口气😂)【顺利】
- Event Loop(幸好面试前特地看过)【比较顺利】
编程题
- 实现三栏布局,总宽度不定,每栏width三等分容器,间距固定8px (面试官说方法随意,实现效果就行,我用了flex:1;并解释了一下)【顺利】
- 倒计时,一开始就进行 【顺利】
var timer = null; var count = 10; function fn() { count--; if (count == 0) { clearInterval(timer); } else { console.log(count); } } fn(); timer = setInterval(fn, 1000);
- 传入 [1,[[2],3,4],5] ,返回 [1,2,3,4,5] (数组降维以前写过,网上有很多方法,恰好就记得这一种简单的方法,绝了)【顺利】
百度一面总结:
总体来说,面试体验一级棒,面试官人真的很好,我回答不上来我就傻笑,她也冲我笑😂,面试中途我调皮说了句 “越问心里越没底”,结果面试官说我的精神面貌还是不错的,我当时就有很多 ???😂 ,11点面试结束后,我以为面试就结束了,她说你先别下线,一会马上二面,我心里直接ohhhhhhhh,我是真没想到我能过一面,应该是那几道简单的编程题给我加了些分吧, 一面大体情况就是这样,稀里糊涂的过了
百度二面(1h)2020-09-27 上午 11:10 (男面试官,平易近人,体验很好!)
顺利的👇
- 自我介绍(梅开二度,依旧介绍小程序项目)
- 小程序rpx单位
- 小程序生命周期
- TCP三次握手
- OSI的应用层
- 闭包是什么?
- 微任务和宏任务执行顺序
- 平时是如何学习前端的?
拉胯的👇
- 设计模式有哪些,了解过吗 ?
- 代码冗余一定不好吗?
- 你数据结构学的怎么样?
- 常见的排序算法和它们的时间复杂度是多少? 【裤衩没了】
编程题一道
- js千分位格式化,传入 1234567,返回 1,234,567 【一般拉胯】
- 面试官看我想了很久,问我没刷过题吗?我说没有😂,感觉写复杂了,好在最后实现了
- 最后我问了面试官我是不是写复杂了,他说可以,能实现就行,这种for循环遍历简单粗暴就挺好,虽然正则一句话也能出来,但是一般不容易想到
function fn(str) { let newStr = ''; let count = 0; for (let i = str.length - 1; i >= 0; i--) { count++; newStr += str[i]; if (count == 3 && i != 0) { count = 0; newStr += ','; } } return newStr.split('').reverse().join(''); } console.log(fn('1234567'));
百度二面总结:
总体来说,体验还是很好的,面试官特别会聊天,给我的建议(面试官原话)“ 虽然数据结构和算法很枯燥,但是校招就是问这些基础的东西,前端也是需要了解算法的,平时多看看,面试就不会吃亏了” 。 唉,我二面估计就挂在数据结构和算法了解太少了,希望各位千万要引以为戒!最后我还厚着脸皮问了 面试官我发挥的怎么样,哈哈😂,没想到面试官还夸了夸我,说我TCP三次握手讲的不错,印象很深,善于用自己的话总结而不是背概念,然后时间差不多了,面试就愉快的结束啦!没有继续三面!我猜八成是凉了,因为我记得26号有位老哥发的面经,一天百度前端一二三面,所以你们懂了吧。 希望百度的面经能帮到各位,愿你们都能拿到大厂offer!
百度前端一二三面经:https://www.nowcoder.com/discuss/526647
字节跳动 (1h) 2020-09-27 下午 14:00 (年轻的小姐姐,十万个为什么,体验一般)
提前说明:我只是真实地讲述了这次面试过程,小姐姐的面试风格很“独特”,感觉就像“十万个为什么” ,确实问了很多,也做了很多题,百度一二面加起来,感觉都没这个累...
小姐姐问的太多,分享一下我记得的几个问题👇
- 自我介绍(梅花三弄)
- 手写节流
- DNS是什么
- 域名解析原理
- http缓存有几种?
- 协商缓存原理,谁跟谁协商,如何协商?
- cookie 和 sessionStorage 区别
- js如何获取/禁用cookie
- call 和 apply 区别
- this指向 (印象很深,问了很久,感觉就没打算轻易放过我...)
- 原型和原型链
- 排序算法和相对应的时间复杂度以及为什么?
代码题(原题,特意截了图)
- 1000w条数据如何排序,取前一百个
字节跳动一面总结:
唉,怎么说呢,这个最后打印菱形的题属实难受,这不是刚学Java玩的吗?每一个问题都问我原理,属实难顶。我个人感觉,小姐姐面试别人的经验也少,恰好被我碰到了,绝了
三次面试最终总结:
写了很久,也写了很多,我是真想把面试的每一处细节都想分享给大家,希望各位不要介意。
最后,真心祝愿大家都能拿到心仪的offer!有问题可以加好友多交流哈!