分享一张web前端面试题

原创文章
声明:作者声明此文章为原创,未经作者同意,请勿转载,若转载,务必注明本站出处,本平台保留追究侵权法律责任的权利。
全栈老韩
全栈工程师,擅长iOS App开发、前端(vue、react、nuxt、小程序&Taro)开发、Flutter、React Native、后端(midwayjs、golang、express、koa)开发、docker容器、seo优化等。

如图所示,这是某公司出的3道面试手写题,手写解答部分有2处错误,请大家忽略。

针对图中的3道题,各位同学看看自己是否可以写出比较满意的答案呢?

前端面试题

1.实现四舍五入保留n位小数位方法(满足大数场景)
这个问题类属于一道算法题了,也就是需要面试者实现一个四舍五入的方法,可能大家思路上都很清晰,希望大家自己手动写一下,防止面试时遇到卡壳或者手写时间过长。

2.实现防抖和节流函数
这个也是大家耳熟能详的前端性能优化部分的知识点。但是否能当场手写出来,一部分同学可能也是需要花点时间的。

温馨提示:

防抖应用的场景,一般常见于按钮的重复点击;

节流应用的场景,一般常见于页面滚动mousemove事件监听。

3.Pomise对象池
请你编写一个异步函数 promisePool,它接收一个异步函数组functions和池限制n(假设异步任务都成功,仅考虑任务的执行不用关注任务的返回值)

js 复制代码
/**
* @param {Function[]} functions - 异步任务执行队列
* @param {number} n - 可执行任务数
* @return {void}
*/
var promisePool = async function(functions, n) { } ;

这道题考异步,那么大家心中应该也明晰前端中处理异步的方式方法。

可能面试官还会问,有没有更优化的方案,大家不妨多想想(比如,一条任务完成后,可以立即再加入任务)。

暂无评论,快来发表第一条评论吧