如图所示,这是某公司出的3道面试手写题,手写解答部分有2处错误,请大家忽略。
针对图中的3道题,各位同学看看自己是否可以写出比较满意的答案呢?
1.实现四舍五入保留n位小数位方法(满足大数场景)
这个问题类属于一道算法题了,也就是需要面试者实现一个四舍五入的方法,可能大家思路上都很清晰,希望大家自己手动写一下,防止面试时遇到卡壳或者手写时间过长。
2.实现防抖和节流函数
这个也是大家耳熟能详的前端性能优化部分的知识点。但是否能当场手写出来,一部分同学可能也是需要花点时间的。
温馨提示:
防抖应用的场景,一般常见于按钮的重复点击;
节流应用的场景,一般常见于页面滚动mousemove事件监听。
3.Pomise对象池
请你编写一个异步函数 promisePool,它接收一个异步函数组functions和池限制n(假设异步任务都成功,仅考虑任务的执行不用关注任务的返回值)
/**
* @param {Function[]} functions - 异步任务执行队列
* @param {number} n - 可执行任务数
* @return {void}
*/
var promisePool = async function(functions, n) { } ;
这道题考异步,那么大家心中应该也明晰前端中处理异步的方式方法。
可能面试官还会问,有没有更优化的方案,大家不妨多想想(比如,一条任务完成后,可以立即再加入任务)。
本文暂时没有评论,来添加一个吧(●'◡'●)