实习-前端-字节搜索-offer审批失败
一面 - 11.29
- 适配移动端遇到的问题
- 登录逻辑怎么做的 access_token refresh_token
- 前端用什么存储token的
- 浏览器本地存储cookie localstorage sessionstorage 区别
- 还了解其他的浏览器存储吗
- 操作系统中进程和线程的区别和联系
- js是什么样的? 单线程
- js为什么是单线程
- 单线程有什么弊端
- js如何解决这些弊端的
- 一道event loop输出题
setTimeout(() => { console.log(1); }, 0) new Promise(function(resolve){ console.log(2); for(let i = 0; i < 10000; i++){ if(i == 9999){ resolve() } } console.log(3); }).then(() => { console.log(4); }) console.log(5);
12.说一下七层网络模型
13.tcp 三次握手与四次挥手过程
14.http1.0 1.1 2.0 3.0 说一下
15.https 与 http 区别
16.http缓存 浏览器缓存策略
17.节流 防抖 概念和项目中的应用场景
18.算法题
一个数target,一组数字nums,找出由nums中数字组合而成的比n小的最大数(nums中的数字可重复使用)。nums不会多于10个。
样例1 : target = 23121 nums = [2, 4, 9] 输出:22999
样例2: target = 24444 nums = [2, 4, 9] 输出:24442
深搜解法:(过了面试官给的两个案例)
function maxNumber(target, nums){ let max = -1 function dfs(num, startIndex){ if(num >= target) return if(num < target && num > max){ max = num } for(let i = 0; i < nums.length; i++){ dfs(num*10 + nums[i], i) } } dfs(0, 0) return max } console.log(maxNumber(23121, [2, 4, 9])); console.log(maxNumber(24444, [2, 4, 9]));
当时看到这个题就想暴力深搜了,只过了给的样例,应该还有一些问题,面试官问还有没有别的思路,感觉贪心应该也可以?(ps:这道题好像是今年秋招面试题?感觉很高频)
19.讲讲vue2的数据双向绑定原理
20.最近在学习前端的什么部分
vue源码;性能优化方面
21.了解哪些性能优化
节流防抖;浏览器渲染/硬件加速;浏览器缓存;图片懒加载;CDN缓存;长列表性能优化
22.反问
学习建议(多学习原理,多做项目)/ 几轮技术面(三轮左右)/ 业务(抖音app/pc/内部 的搜索方面业务)
二面 - 12.1
- 参加蓝桥杯/计算机设计大赛 中的作品/角色/收获
- 头条项目的技术/问题/解决 (vue2全家桶 移动端适配/websocket聊天功能/记住滚动条/异步请求(搜索)竞态问题:发送当前请求取消上一次)
- 具体如何实现的(异步请求竞态问题)使用唯一id/axios取消请求方法
- 输入url到页面显示发生什么(从网络层面和页面渲染方面回答)
- 解析html遇到script怎么办
- 有defer async属性呢 两者有什么异同
- 为什么js阻塞html的解析
- 移动端适配有考虑不同的浏览器对样式的不同吗 怎么做的❌(没有考虑这个呀😭 只做了适应一下不同移动设备的宽度)
- 比如我要实现一个动画 每10ms将一个div向左移动1px,有什么想法(看到这个10ms我就意识到问题不简单 setInterval肯定达不到这样的精度,requestAnimationFrame也不行,使用setTimeout做一个时间补偿 前几次可能会不准 后面有所调整会准一点)
- setInterval为什么不行
- 除了时间方面可能会比10ms长再执行之外,还会出现什么状况 ❌(面试官:可能主线程一直很忙,队列堆积很多处理动画的回调,这些处理动画的函数可能会一起执行)
- 为什么要用js做动画呢 CSS如何做呢(讲了 animation如何实现)
- 那针对这个左移动1px 会用什么方法(绝对定位? 或者transfrom中的translateX 进行水平移动)
- 定位和这个transfrom有什么区别 哪个好(transfrom更好/合成层/硬件GPU加速 定位的话触发更多的重排重绘)
- css动画对比js动画实现的好处
- 项目中使用了socket.io这个包是吧 它是什么做的
- websocket对比传统长轮询 有什么区别
- 说说vuex 使用场景/数据管理的模式
- 其他的组件之间的通信方式
- 数据响应式原理 怎么更新视图的
- vue3怎么做的呢 ❌(proxy 具体就没怎么了解了 没学vue3(尴尬不失礼貌的微笑🤗))
- 说说 Promise.all Promise.race
- 手写Promsie.any
Promsie.myAny = function(promises){ let count = 0 ; return new Promise((resolve, reject) => { promises.forEach(promise => { if(!promise instanceof MyPromise){ resolve(promise) }else{ promise.then(res => { resolve(res) }, err => { count++; if(count == promises.length){ reject(err) // 一些代码 } }) } }) }) }
在14行那里加一些代码这些代码会执行吗 (会的) 为什么
24.算法题
字符串中第一次只出现一次的字符
google => 输出4(l只出现一次)
ps:之前做过一道寻找字符串中的最长子串,这个子串中所有字符只出现一次,用的类似的思路,
题目链接:3. 最长无重复子串 https://leetcode.cn/problems/longest-substring-without-repeating-characters/
结果发现这题只是判断字符不是子串 哈哈哈
面试官:第一次看见用这个思路的 怪神奇的
25.反问环节❔ 针对这次面试对我有什么建议/后面还有几轮面试/
基础蛮好的,原理也有涉及,还是建议多看原理,实习去做一些企业级项目/学一学VUE3,react,webpack
26.还有三面 后面还有hr面试
为这个面试官举大旗!!太好啦 遇到不会的果断给换一个问题 不会逼问我 😋 面完一小时就给我反馈啦
三面 - 12.5
- 带学带练 最有挑战性的事情 为什么做这个项目
- 这个项目中 花的最多时间的功能
- 段页式内存管理 ❌
- 哪一门课程学的好 学的最不好的课程 为什么学不好
- websocket 如何建立连接
- 如何理解全双工
- protobuf协议了解吗 ❌
- tcp udp区别
- 视频聊天用哪个
- tcp 为什么握手需要三次 而 挥手却需要四次
- 你理解的滑动窗口
- dns工作过程
- dns劫持怎么做的
- 如何防范 ❌
- js 闭包
- 一道闭包的手写题
- 用过nodejs 吗 ❌
- js 中的模块化知道哪些
- commomjs 和 es6 mudules 有什么区别
- 说一下 symbol
- bigInt使用场景
- 遇到什么数据精度问题吗 0.1 + 0.2
- 学校压力最大的时候
- 大三上实习还是比较早 你如何看待这个问题
- 你能给予企业什么 期待企业给予你什么
- 最近在学习什么web前端方面的新技术(了解服务端渲染一点点)
- SSR过程是什么样的
- 了解SSR过程中的'xi shui'吗 ❌
- 个人优点 缺点
- 如何看待压力
- 为什么做前端
- 反问
什么时候出结果(这周,后面几天)/学习建议(看vue源码)(参加开源项目的开发)
12.6号坐在回家的高铁上 hr打电话给我说三面过了 约hr面 给我激动的
希望不要出什么意外呀
// 实现sum函数 // sum(1,2,3).sumOf() 返回6 // sum(2,3)(2).sumOf() 返回7 // sum(1)(2)(3)(4).sumOf() 返回10 function sum(){ let agrs = [...arguments] function fn(){ args.push([...arguments) return fn } fn.sumOf = function(){ let ans = 0 for(let i = 0; i < args.length;i++){ ans += args[i] } return ans } return fn } sumOf方法中的计算逻辑 还可以放在哪里(fn内) 放在哪里更好 从工程的角度来看 说了放在sumOf更好 不知道对不对
hr面 - 12.7
- 自我介绍
- 你们学校都在找工作吗 感觉最近看到好多你们学校的在投字节
- 为什么现在想来找实习呢
- 为什么不读研/继续读书
- 前端方向这些内容如何去学习的
- 看过哪些书(技术书)
- 关注过哪些前端大牛
- 整个前端方向对哪方面更加感兴趣
- 了解这个岗位的业务吗 还想再了解吗 我给你详细讲讲
- 外面人都说字节面试比较难 算法也难 对此你是如何看待的
- 针对找实习面试你做了哪些准备
- 面试过程中觉得自己答的比较好有哪些点 答的不好的呢
- 实习时间 什么时候可以入职 能实习多久
- 来实习的话 学校的课程怎么办
- 有什么想了解的
- 为什么转专业 之前学的什么专业
- 绩点/专业课成绩排名
- 你的这些竞赛获奖大概是什么比例
- 希望从实习中获得什么
12.12(周一) 加上了hr微信 说已经给我提offer审批了 让我等一两周
12.17(周五) 询问hr情况 说是下周一会给我结果
12.19(周一) 询问情况 offer审批失败 终止流程
我不理解 ??? 等了那么久 太难了吧 鼠鼠好想摆烂
这是排序挂还是hc锁了呀 有没有了解情况的
#实习实习##凉经##前端实习面经##字节跳动实习生面试##字节跳动实习面经#