作业帮前端社招一面面经

作业帮前端社招

1面

一堆看代码说输出的题【描述】

就是this、变量提升、闭包、event loop说输出的那些基础题。这些必须秒答出来且答对,基础一定不能有差错

项目介绍【描述】

cache-loader有什么坑,缓存错误怎么解决【描述】【举例】

面试官提到,他们做一个可视化编辑页面的系统,对组件使用了cache-loader,开发中有时候出现缓存错误的文件的问题。他说他们遇到了这个问题,暂时没有解决,叫我猜想一下,可能是什么原因导致的。我说应该是开发过程中,修改了被引用模块/引用模块、或者切换git分支,需要自己删除掉node_modules/.cache或者重启dev server。

编程题,9选3(15min)【编程】

实现bind(送分)

防抖&节流(送分)

settimeout实现interval(注意和普通的要无差别体验)

;(() => {const list = new Set();function myInterval(fn, ms) {

const ref = {};

const exec = () => {

return setTimeout(() => {

fn.apply(null);

const timer = exec();

ref.current = timer;

}, ms);

};

ref.current = exec();

list.add(ref);

return ref;

}

function myClearInterval(ref) {

clearTimeout(ref.current);

list.delete(ref);

}window.myInterval = myInterval;window.myClearInterval = myClearInterval;

})()

字符串大小写反转(送分)

节点是不是属于某个节点下(当时我写了一个不带parentid的版本,要自己一层层搜。如果带parentid的,就简单很多了,测试用例你自己写,他们也没有给出)

·

·

反转链表(常规题)

合并数组['a', 'b'], [1, 2, 3] => ['a', 1, 'b', 2, 3] (送分)

合并有序数组[1, 5], [2, 5, 6, 8] => [1, 2, 5, 5, 6, 8] (常规题,而且比合并有序链表还要简单一些)

一堆数字字符串组成最大数是多少[50, 2, 5, 9] => 95502 (贪心)

function getMaxNumber(arr) {return arr.reduce((acc = '', cur) => Math.max(+`${acc}${cur}`, +`${cur}${acc}`));

}

都属于比较简单的且经典的,可以当作练练手。毫不夸张的说,实现interval和最后一题稍微能扛多一阵,其他的那些经典的题,如果大家平时了解过的都可以秒杀的。

#面经##社招##作业帮##前端工程师#
全部评论
[10,2,9,39,17] 最大数 测试用例这个过不了 只能覆盖局部用例
点赞 回复 分享
发布于 2021-05-13 17:24
最大数的这个明显不对
点赞 回复 分享
发布于 2022-08-05 11:45
一堆数字字符串组成最大数是多少,应该把数字第一位进行排序,如果多余一位,则要把后面的每位对比 function getMaxNumber(arr) { return arr.map(v=>`${v}`).sort((s1, s2)=>{ let firstCharCompare = s2[0].localeCompare(s1[0]); if(firstCharCompare != 0){ return firstCharCompare; } let n1 = s1.length, n2 = s2.length; let minN = Math.min(n1, n2); let i=0; while(i
点赞 回复 分享
发布于 2024-12-04 15:12 湖北

相关推荐

#前端面经#本人双非本,211计算机硕。22年毕业后来广州。大部分会根据简历上做的项目和你介绍的点去问,建议把自己简历上写的点弄清楚,好去介绍。1. 自我介绍;2. 如何解决浏览器适配、兼容性3. 如何解决js css html新功能的兼容性问题;工程化是如何搭建的;4. css的样式的权重具体是怎么计算的5. 比如一个p元素,没有给他定义样式,那它的样式是怎么来的?他们的优先级是什么?[浏览器默认样式、继承样式、全局样式/重置样式]6.  进程与线程的区别7. js事件轮询(宏任务微任务,优先级)和nodejs事件轮训、浏览器的事件循环机制,8. 打开一个浏览器,浏览器自身它是有多个进程还是只有一个线程9、浏览器有哪些进程10、新开一个tab页,是新开了一个进程还是线程11、nodejs,优点是高并发?为什么它是单线程的还能实现高并发;12. 跨域的解决办法;除了配置代理,nigix、cors,前端还有什么解决跨域的方法;13. 什么是正向代理反向代理;14. 小程序性能优化做哪些内容;多平台的兼容性和稳定性15. 数据量大的情况下,除了虚拟滚动,分页,还有什么其他方法16. 输入url到它整个渲染过程做了那些事,具体说一下浏览器解析的一个过程17. 谈到浏览器的解析过程,js为什么会阻塞18.箭头函数、普通函数的区别,比如我要调用它的一个属性和方法它是怎么找的?19.推广ts的应用,ts有什么功能;如,枚举,枚举的源码、k与v怎么实现的相互转换20. http1和http2   http和https21.抓包工具用过哪些,什么抓包原理22.怎么学习的、怎么学习新知识的;23. 加班强度怎么看24. webview 预加载25. 把一个h5改成vue,原生界面打开是非常快的,接近秒开,我们想要在vue去替代他游戏内的一些原生组件,怎么样能尽量去还原原生效果;如何保证js原生界面、动画的效果,尽量达到原生界面的效果26 怎么使web页面网络请求的时间尽可能的短27. webview可以预加载吗求求求
查看27道真题和解析
点赞 评论 收藏
分享
评论
4
43
分享

创作者周榜

更多
牛客网
牛客企业服务