2023 年记一次在梦中的求职
前言
2023 年记一次在梦中的求职。
作为一个睡眠质量飘忽不定的人来说。
有时睡的很香,很连贯。
有时又睡得很浅,半夜还被尿憋醒了,醒来就睡不著了,或者就梦到了奇形怪状的梦。
有些梦醒来就不记得了,而有些梦醒来还是那么真实…
这次来分享一下梦中的一次求职过程。
正文
作为一个前端切图仔,当然目标岗位就是前端了。
HR 小姐姐人很好,先让我上交了手机,放到了他肚子前的异次元口袋中。
然后从小胶囊里面拿出来一份前端架构师的笔试试题给了我。
我一看这题目,顿时明白了,这就是扎狗屎的门槛,这就是扎狗屎该拥有的能力。
字符串转数字
给定了下面一些字符串,然后写一个函数,通过函数处理后,提取存在的整数,不存在返回 0 。
adad 3 ada
->3
dada 44lada5
->44
svdl4.5dajkda
->0
简单点讲就是找到第一个整数然后返回,这里要注意是整数,然后如果不存在的话返回 0 。
做这题的时候还是想了很久的,这也导致我后面那道排序没有写完…
1 | /** |
看起来应该是对的…
快速排序
手写一个快速排序。
PS: 很难想象一个两年的前端开发写不出来快排…(发出了苦笑)。
其实我基本上的框架写出来了,不过我写的是归并排序的算法框架,给我整麻了。
快速排序的核心就是对一个数组取一个随机的元素,然后把小于它的放左边,大于它的放右边,然后对左右进行递归操作。
1 | /** |
看了网上的教程然后再写了一遍出来。
PS:不过我觉得要是下一次再让我手写,可能我还是写不出来😂。
对于归并排序,它也是基于一种分治的思想。
递归排序的核心就是对一个数组,假设它的左半部分和右半部分已经是有序的了,然后通过一个循环来讲两个有序数组合并为一个,为了让左右部分分别有序,需要递归左半和右半部分。
判断是否为数组
如何判断一个对象是否为数组。
这个我觉得我还是答的不错的。
在 JavaScript 中,我们有三种方式来判断一个对象是否为一个数组。
Array.isArray
instanceof
Object.prototype.toString
其中 instanceof
通过检测原型链来判断,在多 iframe 中或者一些重写原生 API 的库中可能会存在问题。
1 | const arr = [1, 2, 3]; |
Array.isArray
是 ES5 中的方法。
1 | const arr = [1, 2, 3]; |
其实用的最广泛的应该还是第三个,早期由于需要兼容 IE 6 ~ 8 ,无法使用 Array.isArray
。
所以通过 Object.prototype.toString
的方式来判断
1 | const arr = [1, 2, 3]; |
其他一些主观题
- vue 和 react 的区别。
- typescript 的优势。
好像还有几道题,不过梦断断续续的,记不清了。
后记
很久没进行过笔试流程了,上一次还是在上一次的时候
什么你问我笔试结果?拜托大哥,就做了个梦,哪来的结果🤬
只能再接再厉了~