面经详情

字节面试,主要js基础,有现场手撕代码
面试官很和蔼,一步一步引导面试,一时想不起来时还会有适当提醒,一面一个小时10分钟,接着二面30多分钟。全程都没放松,没有压迫感。

相关推荐

匿名用户
前端开发
未通过未通过
不难,但是很广,很多知识要深究,基本上会从你自己说的技术里面出问题,所以说项目用到了什么技术一定要深究一下技术,深!最好是引导说你滚瓜烂熟的技术。面试官人挺好的,也会引导,但是我太菜了可能导致他比较无语。目前只记得这些。对手写代码的考察还挺有要求的。 1、解释原型链和原型对象; 2、websocket和http2了解吗解释一下(大学学过不记得了) 3、自己实现一个event类class Event {    on(name, cb)    once(name, cb)    emit(name, message)    off(name, cb)} 4、自己实现new函数function A() {}let a = new A(); 5、网络七层协议; 6、TCP和IP分别属于哪一层 TCP和UDP的区别7、对公司有什么了解(我觉得可能最好说一下业务,我乱说的然后面试官笑了) 8、自我介绍; 9、在项目里有挑战的东西或者学到了什么(谨慎回答,题目大多从这里出); 10、vue组件通信怎么实现 父子和不父子; 11、vuex的mutation和action的区别,为什么要设立两个而不是直接用mutation操作state; 12、只给一个div,无外层容器信息让他居中position:relative;top:50%;left:50%;transform: translate(-50%,-50%)怎么实现的,含义。transform的translate是基于什么点?scale(1) scale(2) scale(0.5)分别代表什么,是基于什么点?CSS盒模型是基于哪个点? 13、css选择器优先级排序(记得要全面的一个不漏记住); 14、应用层有哪些协议,用到了UDP的有哪些? 15、自己实现一个防抖函数 (以防万一节流的也学一下吧); 16、sort()是内部使用了什么算法,时间复杂度是多少,indexOf()的时间复杂度是多少; 17、下列代码的输出是什么function Dog(name, color) {    this.name = name    this.color = color    this.bark = function() {        console.log(`hello ${this.name}`)    }}Dog.prototype.bark = function () {    console.log(`hi ${this.name}`)}let dog = new Dog('Chop', 'Red');dog.bark();dog.__proto__.bark.call(dog); 18、了解过typescript吗其实都还算基础吧,还是我菜了。 ...查看更多
2 年前 发布
1
匿名用户
前端开发
未通过未通过
一面: 1.假设按照升序排序的数组在预先未知的某个点上进行了旋转。(例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn)级别。 2.asyncfunctionasync1(){console.log('async1start');awaitasync2();console.log('async1end');}asyncfunctionasync2(){console.log('async2');}console.log('scriptstart');setTimeout(function(){console.log('setTimeout');},0)async1();newPromise(function(resolve){console.log('promise1');resolve();}).then(function(){console.log('promise1then');return'promise1end';}).then((res)=>{console.log(res);}).then((res)=>{console.log(res);});console.log('scriptend'); 3.BFC 4.浏览器渲染流程 5.XSSCSRF 6.手写节流 7.性能优化webpage打包过程 8.HTTP2特性浏览器缓存 9.最近学什么前端技术 二面: 1.自我介绍; 2.项目; 3./*现有一个含有字符串的数组,形如:["ab","c","ab","d","c"]要求将其中出现的重复字符串,依次添加上数字序号,如:["ab1","c1","ab2","d","c2"]要求:1).未重复出现的字符串不处理;2).仅对相同的一组字符串依次添加序号,而不是共用一组序号;3).保持原数组顺序;*/functionaddSerial(arr){varresult=[]//dosomethingreturnresult}console.log(addSerial(["ab","c","ab","d","c"])); 4.inner='window'functionsay(){console.log(inner)console.log(this.inner)}varobj1=(function(){varinner='1-1'return{inner:'1-2',say:function(){console.log(inner)console.log(this.inner)}}})()say()obj1.say()obj1.say=sayobj1.say(); 5.你的优缺点; 6.你有什么想问我的:没有。 ...查看更多
2 年前 发布

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网字节跳动字节跳动面试经验字节跳动面试经验:字节面试,主要js基础,有现场手撕代码
正在招聘大客户广告营销顾问(上海)200 个岗位