超详细!!字节跳动前端实习面经
xdm内推可以找我,hc充足、校招、实习、社招、外包都有!!
一面:
1.自我介绍
我是xxx,目前在xxxx大学修读物联网工程和英语双学位。大一加入了学院Git双创工作室一直在做一些前端相关的工作。大一到现在陆陆续续做了十个左右项目,主要涉及技术栈是微信小程序和Vue。
2.项目技术栈,项目实现,项目状态管理
由我主要负责的项目有xxxx项目,主要技术栈是Vue,状态管理为Vuex,组件库为BootstrapVue,后端是JavaSSM框架。
路由是后端下发的,根据路由表动态加载页面。
3.ES6新特性
我看了两遍红宝书,总结了一个口诀:剑魔生迭代,反众多鸡肋
箭头函数、模块、模板字符串、生成器、迭代器、代理、反射、众多新数据类型(Map,weakMap,set,weakSet....)期望、类
4.那你讲讲let var const
let和const是块级作用域,定义前不能使用,而var可以,let和const的区别在于const不能修改,而let可以,但是const定义的引用类型的属性可以修改,如果不想修改可以用freeze函数。
一般来说,let和const作用域更加可控,所以我们一般不使用var。
5.手写五种水平垂直居中
6.Vnode patch patchVnode updateChildren(讲讲diff算法)
7.Vue双向绑定原理
数据劫持加发布订阅者
9.Vue data 里面对象的属性是对象,那么最里面的对象的属性会不会双向绑定
不会
10.Vue 数组怎么动态绑定的,性能问题
11.跨域原因和解决方案
12.http三次四次
13.http2.0 3.0
手写函数: 属性含有null就把这个属性移除,考虑对象嵌套
https://www.jianshu.com/p/907f99004c3e
最后和面试官闲聊了一些关于入职啊,项目之类的事.
二面
感觉面试官成熟稳重,给人很靠谱的感觉
1.自我介绍
我是xxx,目前在xxxx大学修读物联网工程和英语双学位。大一加入了学院Git双创工作室一直在做一些前端相关的工作。大一到现在陆陆续续做了十个左右项目,主要涉及技术栈是微信小程序和Vue。
2.微信小程序和H5的区别
从UI、数据模型、生命周期方面讲了
3.微信小程序双线程模型,为什么要双线程
4.微信小程序布局相关
用rpx
5.rpx rem em vh vw px
6.项目中一般如何设置rem(用脚本)
7.微任务 宏任务 事件循环 读代码
8.微任务什么时候添加到队列的,说具体方法 Promise里面
.then()
建议学习手写Promise:https://zhuanlan.zhihu.com/p/144058361
9.CSRF XSS 原理,防范 要具体
10.get post 区别
11.post 包结构
12.flex 三个参数和计算方法
算法:版本号排序,直接sort就完事儿 parseInt默认参数(不是10,仔细想想)
三面
整体感觉很随和,比较注重项目相关内容吧。
1.微信小程序和Vue和H5开发区别,
随便吹吹牛
2.为什么微信小程序不让dom操作.
为了安全
3..虚拟DOM
4.CSRF XSS 我说前面面试官问过啦
5.项目中的ICON 或者 SVG相关问题,翻车了,问颜色怎么设置的,我说font-color,这个地方卡了5分钟(危)
6.Webpack讲了 基本概念和理解,HMR ,source-map ,oneof ,externals ,babel ,dll,多线程打包,摇树,懒加载,预加载,pwa
7.CommonJS ES6 Import AMD CMD 的 webpack支持性
8.想问双向绑定,我说前面问过了
9.怎么学习前端的
看书,写代码
10.React和Vue的区别,我说我问过上个面试官,我回答了上个面试官给我讲的内容(嘿嘿嘿)
11.用过其他打包工具吗?
没有
12.除了Bootstrap,UI组件用过其他的吗?
没有,但是我感觉都差不多,就是组件加Api
看完的好兄弟帮忙点个赞!!谢谢各位彦祖、热巴!