第一次面试大厂,没有经验,虽然面前看了两天的面经,但是还是败给了当初被我抛弃的算法(大一下退出算法跑去开发)
1.自我介绍
2.在平常开发中遇到过哪些问题?怎么解决的?
3.sso单点登录怎么实现的?
4.离职原因?
5.整个软件开发的流程是怎样的?
6.set和map的区别
7.object和map的区别
8.了解promise.all,promise.race吗
9.手撕promise.all
10.了解过哪些排序方法?
11.写一下你最熟悉的排序方法
12.讲一下从浏览器输入url,点击回车后发生了什么
13.TCP协议和UDP协议的区别
14.反问
好好好,看了三天的链表反转,队列、栈二叉树的公共祖先......唯独没看排序(虽然但是排序这么简单的问题我没写出来)
这次估计悬了整个一下两道代码题都没答完整,可能是内心有点紧张吧,回头想了下也不算很难的内容,感觉这次错过了真的太可惜了
把两道代码题在复盘一下吧:
const promiseAll = (promises) => { return new Promise((res,rej)=>{ let resArr = [] for (const promise of promises) { promise.then(val=>{ resArr.push(val) if(resArr.length === promises.length){ res(resArr) } }).catch(err=>{ rej(err) }) } }) }
虽然但是就这么几行,居然没写出来(还是自己太菜了)
排序算法:
1.快速排序:
const quickSort = (arr) => { const rec = (arr) => { if (arr.length <= 1) { return arr; } const left = []; const right = []; const mid = arr[0]; for (let i = 1; i < arr.length; i++){ if (arr[i] < mid) { left.push(arr[i]); } else { right.push(arr[i]); } } return [...rec(left), mid, ...rec(right)] } return res(arr) };
还要好好刷题,刷题太少了
#我的求职思考#