美团一面“保持好奇”
面试官非常友好、轻松
前面问了 React 和 Vue 在虚拟DOM方面,之前看过全忘了。。
算法考了一个反转链表(我把temp位置设错了导致花了一点时间,服了被自己蠢笑了)然后面试官还是喜欢递归的写法
后面考了一个JS的异步任务管理,这方面确实基础不好,正解应该是:
维护一个执行队列,然后逐步从任务队列中解放任务。细节的话需要写一个函数去能在一个 Promise 报错之后使其自动重试(输入的肯定是一个返回为 Promise 的函数)
function retryPromise(fn, retries = 3, delay = 0) {return new Promise((resolve, reject) => {function attempt(remaining) {fn().then(resolve).catch((err) => {if (remaining > 0) {// 可选的延迟setTimeout(() => attempt(remaining - 1), delay)} else {reject(err)}})}attempt(retries)})
}
然后我问了面试官关于一个软件工程师可持续发展的一些品质:对技术和业务保持好奇
他刚出校园的时候也是感觉什么什么技术好牛,但是感觉技术牛和感觉技术有用是不一样的,所以保持可持续发展是很重要的