2024-8-20 百度一面 过
面完就去上班了,所以忘的差不多了 🤕
问题
算法,已排序的俩个数组,合并成一个,要是升序的
一开始直接 merge + sort
优化到 O(n),双指针
怎么理解 promise,有哪些方法,手写 all
koa 的洋葱模型
ts 对比其他的好处,有了解过其他语言吗
说到了类型体操,就写一个吧 🤡
实现一个函数的类型定义,入参可以是 1/2 个,1 个时返回 string,2 个时返回 boolean
没写出来
反问
负责的业务
文心一言网页端
技术栈
react
答得怎么样
计网、os、浏览器渲染原理不太行
2024-8-21 滴滴二面
感觉面试确实挺分人的,问的都不一样
问题
自我介绍
实现一个调度器,没写出来,太久没看了
//JS实现一个带并发限制的异步调度器Scheduler,保证同时运行的任务最多有两个。完善代码中Scheduler类,使得以下程序能正确输出class Scheduler { add(task) {} // ...}const timeout = time => new Promise(resolve => { setTimeout(resolve, time) })const scheduler = new Scheduler()const addTask = (time, order) => { scheduler.add(() => timeout(time)).then(() => console.log(order))}addTask(1000, '1')addTask(500, '2') ...
2024-8-15 滴滴一面 过
顺序和实际估计相差挺大
问题
自我介绍
项目主要负责什么,遇到的问题,如何解决
vue 数据响应式原理
vue3 Proxy
vue2 defineProperty
为什么对数组原型链处理,怎么做的处理
组件通信
生命周期
script defer async
跨域
性能优化手段
原生小程序和其他的优缺点,性能,原理
讲输出
async function async1() { console.log('async1 start') await async2() console.log('async1 end')}async function async2() { console.log('async2')}console.log('script start')setTimeout(function () { console.log('setTimeout')})async1() ...
2024-8-9 滴滴一面 挂
顺序可能和记忆不一样了,八股不多 👍,但是面完秒挂,估计排序没比过,以及工程化回答的不够多
问题
面试官介绍部门、业务
自我介绍
html 有哪些语义化标签,以及好处
深色主题切换实现的思路
博客右上角随机文章怎么实现的
觉得 vue/react 对比原生有哪些好处
数组的常见方法
Array(100).map(x=>1),输出是什么,以及有哪些方式可以实现这个
我回答的是 100 个 1,实际是 100 个空
map 不够熟悉
如何将对象转字符串,JSON.stringify(),以及参数控制缩进
tailwind、unocss、原生 css 区别好处
http 常见请求头
content type
回答的不够多
package.json,tsconfig 常见配置
tsconfig 不够多
webpack 打包编译流程
了解不足
tailwind 统一配置怎么做的
移动端如何与端上交互,js bridge,jsb 的具体实现了解吗
性能优化、图片懒加载
图片懒加载需要了解一下
工程化相关
反问
为啥 ...
节流
上个文章是防抖,他的场景是频繁触发,只取一次,而节流是另一种想法
是什么节流的思想是,在一定时间内只执行一次,只和时间有关,不被频率影响。
场景一般用于滚动事件的处理、动画控制
实现和时间差相关,所以就有很多种写法
时间戳function throttle(callback, wait) { let lastDate = Date.now() return function (...args) { const nowDate = Date.now() if (nowDate - lastDate >= wait) { callback.apply(this, args) lastDate = nowDate } }}
定时器会丢失最后一个周期的 callback
function throttle(callback, wait) { let inThrottle = false return function (...args) { if ...
防抖
防抖很常见啊,但是 8.2 米哈游一面就没写出来可用的版本 🥲,所以总结记录一下防抖的相关知识
是什么
在一定时间间隔内,将多次触发变成一次触发
其实开发会遇到很多需要使用他的场景,比如有个按钮,点一下就发一次请求,如果用户一直点击,就会高频发请求,这会造成资源浪费。以及我们想在浏览器滚动事件添加一个回调函数,一滚动就出发了特别多次,希望可以降低一下频率,不然会影响性能。这个时候就可以用到防抖了,当用户点击频率过高,只以最后一个为准,就只发一次请求。
实现其实思路也很简单,点击 -> 开启一个定时器,到时间执行回调函数 -> 如果还没到时间又点了就清除旧的定时器,开一个新的定时器重新计时即可
这是一个点击的场景,点击频率是没有限制的
<button>点我啊</button><script> const btn = document.querySelector('button') const fn = () => { console.log('点了') ...
2024-8-2 米哈游一面 挂
被拷打了 😭
问题
并发和并行的区别
浏览器是多线程还是单线程的,有哪些线程
多线程有什么缺点
如何防止多线程对一个资源进行变更造成问题
http2 有哪些功能
udp 和 tcp
http3 是如何基于 udp 实现的可靠传输
map 和 weakMap、object
vue 的 computed 原理
事件循环
水平垂直居中
写输出
class Foo { static a() { console.log(1) } a() { console.log(2) }}Foo.prototype.a = function () { console.log(3)}Foo.a = function () { console.log(4)}Foo.a()let obj = new Foo()obj.a()Foo.a()
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可 ...
CSS 文本溢出隐藏面试常问,开发也常用,组件库应该都有文本组件支持这样的功能,这里一次性了解下所有的实现方式
单行其实只要知道要做什么,答案就有了。
让文字只显示在一行:white-space: nowrap
长度超出时,隐藏溢出内容:overflow: hidden
溢出的内容用省略号展示:text-overflow: ellipsis
white-space: nowrap;overflow: hidden;text-overflow: ellipsis;
多行可以分俩种情况,一种是限制 xx 行后隐藏,另一种是超出 xx 高度后隐藏
高度截断使用伪元素定位到行尾,遮住文字,但是看上去其实还挺奇怪的
.box2 { overflow: hidden; position: relative; height: 45px; overflow: hidden;}.box2::after { content: '...'; position: absolute; right: 0; bottom: 0;}
...
2024-7-25 百度二面 流转
就没问八股,纯技术问的也不多,反而是聊天比较多 🥸
问题
自己有哪些比较突出的技能
未来三年怎么去学习前端(不要局限在业务的范围谈)
说自己的三个缺点(只想出来一个)
俩段实习经历,哪个成长多,学的多
现在 mt 对你评价怎么样
开发中感觉 pc 端和移动端怎么样
为什么选择前端
为什么低代码项目没有真正投入使用
介绍业务,自己的思考
对业务的了解和产出
在工作之余怎么释放自己的压力
反问
感觉上海生活怎么样
更小资一些,舒服一些
百度内部 ai 有哪些感觉便捷的应用
说的是思考如何利用 ai 去做什么业务(可能理解 gap 了)
如何平衡工作和生活
可以拓展自己的想法/思考
想清楚自己是为什么工作
总结真一点八股都没有,更多是讨论和介绍未来怎么发展 🫨
2024-7-23 百度一面 过
没录音录屏,可能记得有点乱了,顺序不一定对应
提前批,百度输入法业务组,base 在上海,整体不是很卷。
问题
自我介绍、学历、实习经历、项目经历
字节实习主要做了什么,介绍项目和主要工作
页面性能优化
vue 的生命周期,主要是 vue2
vue 和 react 的区别
vue 响应式原理、双向绑定
vue2 中有哪些组件传值的功能
typeof 和 instanceof
开发中有遇到哪些内存泄露吗(没答出来)
原型和原型链(答的不够清晰)
算法,一个字符串’abscsaaa’,返回出现次数最多的字母
一开始是用 map 存,先遍历字符串,再遍历 map
后面提示可以优化,只需要遍历一次字符串
反问
主要负责的业务
百度输入法 app 内的推广横幅以及活动
内部推广的中台
上下班时间
10 ~ 8 左右,偶有 21 ~ 22,整体不卷
技术栈
主 vue2,也支持鼓励其他更先进的,也尝试过 flutter 等
自我总结
基本偏基础,但是八股不够熟练,还是有地方欠缺。
CSS 没问,问到的话估计有一些确实不会
整体的话应该大部分还 ...