一面(90min)
首先自我介绍,然后让选一个项目进行详细介绍,在介绍项目的过程中进行提问。我介绍了一个小程序,提到的问题有:
聊天室的实现,
websocket
的使用小程序中的登录流程设计
项目中最复杂的一个组件是什么,是怎么设计的?为什么这么设计?
为什么要对数据做缓存?哪些部分做了缓存?做了缓存后数据更新怎么办?
小程序打包的大小限制?项目中的小程序最后打包出来的大小是多少?为什么会这么大?有哪些解决方案?
项目中的小程序做了哪些优化?
聊小程序优化时说到了输入框防抖,所以又问了节流和防抖,分别有哪些应用场景?
对图片是怎么优化的?知道雪碧图吗?如果一个页面中使用同一个图片七八次,这个图片会加载几次?(在这里聊到了缓存)
浏览器中常用的缓存?缓存机制?
last-Modified
和ETag
在低版本的浏览器中怎么使用?知道
serviceWorker
和indexDB
吗?(不知道,知道webWorker
)讲一下webWorker
,webWorker
在小程序项目中可以使用吗?刚才讲
cookie
的时候聊到了cookie
的同源,说一下同源策略?跨域解决方案?三种方案分别在什么情况下使用,有哪些优缺点?除了http协议,还知道哪些协议?讲一下https
手写代码:找出一篇文章中出现次数最多的单词和出现次数,考虑标点符号的分隔时,怎么写?
整体感受:这个一面很不像一面,整体偏向性能优化和网络浏览器部分。最后面试官建议去公司实习一下,因为项目上线后线上环境的处理也是一门学问,而在学校的项目很少有机会遇到超多用户同时使用的情况,很多场景没有办法测试到。(没有实习的悲哀( ̄ε(# ̄))面完当天官网流程就改为了复试。
全部评论
(3) 回帖