实习- 前端 - 抖音直播 - 二面挂
双非本科大三 想找一份实习 内推的抖音直播前端实习生 二面挂了
一面 - 11.1
- 介绍一下项目
- websocket 和http区别
- 那我现在有个场景,比如我进到电梯里断网了,如何检测呢 心跳包
- 心跳包 对服务端的优点缺点
- vue和jquery的区别 响应式概念 原理 如何更新页面的
- vue怎么操作dom的 虚拟dom diff算法
- key一样 都不是文本节点 都没孩子 是不是同一个DOM 不是 还得判断类型type
- 继承 讲讲继承 es6的class的继承
- 继承解决什么样的问题
- 继承是什么样的设计模式
- set数据结构 说说特点
- 页面显示商品价格 使用什么方法防止爬虫爬取金额取做对比 但是不影响用户的浏览
- promise async await
- Object.__proto__.__proto__.__proto__ 打印null 每个解释一下
- 箭头函数 使用this会不会报错 this是谁的 是否可以改变this
- https 使用什么加密方式 数字证书 客户端有什么 有ca公钥
- http1.0 1.1 2.0 每个讲讲 3.0(没说了)
- 算法题 三数之和 array = [1,2,2,3,4,4,5] target = 5 array中是数字 有重复的数字 在array中找到三个数和满足target的组合 组合不能重复(使用双指针 还需要去重)
小结一下没答出来的的问题:
7 当时看diff算法的源码没有太仔细,除了key tagname那些还比较了什么其他的属性记不太清楚了;面试官说还有一个type
8 js红宝书的继承倒是记得,es6的class继承没有复习,面试完就去恶补了一下class 和class的继承
12 反爬虫,防止爬取价格,当时说了个使用图片,面试官说图片也可以爬下来(但是我想爬下来还得识别嘛,也算是一种方法吧)后面了解可以使用伪元素(恍然大悟),还可以使用雪碧图 。
面试完半小时就打电话约了二面 激动
二面 - 11.3
项目介绍
- 用到websocket了是吧,那你说说websocket和http的区别
- 那除了websocket,还有其他类似的方法实现这样的双向通讯吗? 短轮询、长轮询、SSE(服务器推送)
- 那我现在有一个场景,比如这样的资讯列表,我需要反馈一个不感兴趣的列表,要做一个删除,但是我现在网络很不好,等待响应需要很久,我们前端可以做什么让用户体验感更好? 可以不用等后端的响应,用户点击反馈后,前端删除对应的文章,并且给用户反馈将减少类似文章的推荐 那如果我有一个任务清单 todoList这种,我后端删除失败了,此时前端已经删除了,如何处理? 可以将发送失败的请求存下来,然后后续再去发送,让服务器再做一个删除,直到成功为止 // 来自一个朋友的亲戚(全栈大牛)给的答案: 我感觉啊,不考虑实现成本。是不是可以考虑设计一套状态同步的机制。 在网络不好的时候,前端可以离线编辑。 在网络恢复的时候,可以把前端缓存的数据进行增量更新或者全量同步。 详细说一下你要怎么设计这样的数据结构 首先要保存请求,需要保存请求的地址和携带的数据,将它存到对应的数组,然后把数组存到localstorage里面,设置一个定时器,不断的访问这个数组,如果有失败的请求就去发送,让服务器处理。 为啥用localstorage存呢? 因为我用localstorage比较多,其实浏览器本地存储还有其他的,比如sessionStorge和indexDB,但是indexDB我没有用过,不太熟 那你说说这些本地存储有什么区别
- vue2的路由有hash、history模式,说说他们的实现 巴拉巴拉 然后说底层用的啥 onhashchange 和一些API 为什么hash模式没有history那个缺点呢(不配置会404)? 那history模式为什么刷新页面会发请求呢 这是浏览器去发的 针对浏览器地址栏的地址默认发送get请求 那history模式改变了路径为何不发送请求呢 (对于使用的API,并且阻止发起请求)其实这里我不太明白问了什么 很迷糊
- 做一个算法题: 将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须 原地 修改,只允许使用额外常数空间。 例如 1 2 4 3 ->1 3 2 4 就是取一个排列(1234组成的数)中比给出的更大的数
- css布局的题目: div>(input + button) 实现一个搜索框,使得input的宽度自适应、按钮宽度固定 讲了一个flex实现,面试官问我会不会其他的实现方式,比如calc(不会),让我用float,我也不会 我说我会用js去实现:获取div宽度,减去botton的宽度,设置为input输入框的宽度 那如果我要缩放页面的话怎么办? 监听resize事件,每一次缩放重新设置 会有什么问题吗? 可能会一直缩放,一直触发这个事件,消耗比较大,可以加一个节流 说说节流 balabala 手写一个节流吧
- 最近在学什么 看了vue源码 怎么看的 看帖子 看前端博主的博客(咋不问我源码)
- 平时怎么学习的,怎么学算法和前端的 算法是实验室有任务,大一让刷题 前端使实验室提供学习路线,然后看视频,看书,看帖子,记笔记 反问:对于这次面试觉得我有什么缺点,可不可以给一些前端学习的建议 深入业务的一些方法 遇到问题需要系统化的了解底层
小结没答上的问题:
为啥history模式 改变路径没有发起请求 ,是那些api默认不会发 ,可面试官还是继续问为什么, 我可能还是源码看的不仔细, 恶补!!
css的布局问题 一时半会想不起来太多解决方案
总结
周四面的二面 周一问了hr说是挂了
最近内推的两个部门 都没有给面试机会 简历评估了三四天就放了 难道是我面评不好吗
感觉也没有发挥很差吧
想问一下有没有字节的hr可以捞捞 求捞 !!!!!
孩子很想找一份实习
#实习实习##凉面##求捞##前端实习生面试##字节跳动实习面试结果#