作业帮前端社招一面面经

作业帮前端社招

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 湖北

相关推荐

作业帮-前端三年-社招面经1、项目中觉得做的比较好的是哪一个,做得好的原因是什么?重构做的比较好的是什么地方?2、小程序怎么知道用户是否登录?3、登录token是什么?4、在小程序中怎么获取手机号?5、获取到手机号之后 怎么做的加密?6、AES加密是什么,跟其他加密方式有什么区别?引申出你知道还有其他加密方式吗?MD5加密是什么,HMAC加密是什么等等7、公钥和私钥的获取方式8、获取手机号后跟微信进行验证,获取票据,这个验证是验证什么呢?9、获取的手机号和票据有什么关系呢,为什么要做这一步验证?这个票据到底是后端给的还是微信给的?10、这个票据的作用是什么?11、登录态是后端判断的还是前端判断的?12、把token存在缓存里,这个缓存指的是什么?13、请求头是什么?14、请求的时候需要一个id,这个id应该放在哪里?15、data和param对于请求而言有什么不一样的?在请求的哪里?在请求头里吗?16、get和post方法的区别?17、小程序中内嵌webview,webview网页需要获取用户身份,该怎么解决这个问题?18、将token拼到url后怎么去验证登录?19、怎么读写cookie20、在小程序中登出之后,打开H5,H5对应的状态是怎么样的?怎么实现的两方状态统一21、获取到空的登录态,怎么验证,怎么处理?22、H5中点击需要登录的交互,怎么实现?23、有一个网站,需要用户打开的时候尽可能快的看到内容,有什么措施24、设计给的图片,怎么选择图片的格式?25、png图片的特点是什么?26、网站怎么支持多语言?27、怎么实现用户在未选择语言时能时网站贴近用户使用的语言?28、实现一个函数,接收一个正整数N,输出N以内所有质数
点赞 评论 收藏
分享
1. 什么是js的变量提升,你什么情况下会用var,为什么要提升,不是在外面定义2. 我怎么判断对象里面的方法,是不是相等,怎么去做3. 讲一下const var let的区别4. promise你了解多少5. json的对象有哪些方法6. !0是true还是false7. js数组的方法,怎么用其他方法去判断这是不是数组不用isArray(问了一下说是用里面js自带的instanceof好像)8. 给了案例a.b和c.b怎么去判断里面的值是一样的,不用全等号的方法,有关到地址的变化9. 数组去重的一些方法10. interface和typeof的区别11. http缓存12. localStorage是什么类型的缓存,跟sessionstorage有什么区别,那cookie呢13. 缓存的存取你有没有用过,怎么弄,如果单纯js取出来怎么取14. 浏览器的重绘重排15. react用过哪些hook16. useState里你习惯写值还是方法的回调,这两个有什么区别吗17. 在State里希望等数据更新完之后,再去执行一个方法,希望可以怎么去做,state里有依赖跟没依赖有什么区别18. 如果在state里写return的话,return干嘛用,什么情况下会执行19. ref用过没20. 用useMemo和useCallback有什么区别21. useMemo就一定不会导致渲染吗,有没有一种情况它依赖没变,但是子组件又监听到变化了,你认为是怎么造成的22. 有没有了解过react里面的事件,什么是合成事件23. 如果让你写一个hook,里面有一个弹窗开启关闭这个动作,让你写hook,你会怎么写(我没想到这是我进去后的第一个需求)你需要关心弹窗的状态吗,自定义hook有什么特别的24. 你自定义封装hook你都封装了哪些啊,你在里面怎么获取窗口大小的25. 项目里react router设置权限,权限你怎么做的(我没想到这个也是我入职后mt着重教的地方)26. 你怎么知道权限这有这个能力的27. 你有没有拦截器去处理错误异常的(入职后mt也跟我分析)28. 后端说你没权限跳转到登录页,你当时是怎么去做的29. next里,开发过程中你怎么判断它属于客户端还是服务端的部分30. 还有什么问题想问还有前面一点#牛客AI配图神器#不记得了,第二次面欢聚了oc了,面试官同时也是mt,是个老二次元,特别耐心特别好,感谢遇见)这里真的很开心,氛围超级nice,不卷以前的面经了#日常实习##实习##前端#
查看30道真题和解析
点赞 评论 收藏
分享
评论
3
41
分享

创作者周榜

更多
牛客网
牛客企业服务