9.14 米哈游前端笔试

一题没a。。。今天真的不怎么怎么回事了,笔试完心态崩了。

  1. 快乐值,给一个数组,随意摆放数组内元素位置,如果相邻元素的平均值是非整数,则快乐值+1 问怎么摆快乐值最大
    输入:[112,111,114,116] 输出:[112,111,114,116] 共有2快乐值 <112,111> <111,114>
    思路:统计奇数跟偶数,判断哪个比较少,把少的插入到大的直接,再返回总的数组。(还是不知道哪里错了,答案说可以输出任意答案的。 脑子坏了 要输出字符串带空格,愣是没看见)(代码已修正)

    var findFun = function (nums) { 
     // 统计偶数跟奇数
     let odd = [] // ji
     let even = [] // ou
     let res = []
     for(let i=0;i<nums.length;i++){
         if(nums[i]%2==0){
             // 偶数
             even.push(nums[i])
         }else{
             odd.push(nums[i])
         }
     }
     let minNum = odd.length<even.length?true:false // false是奇数个数多
     if(minNum){
         // 奇数少
         while(odd.length>0){
             res.push(even.shift())
             res.push(odd.shift())
         }
         res = res.concat(even)
     }else{
         while(even.length>0){
             res.push(odd.shift())
             res.push(even.shift())
         }
    
         res = res.concat(odd)
     }
     return res.join(" ")
    }
  2. 最长连续子串。给一个字符串,找出里面包含k个'mihoyo'字符串的最短字符串
    输入:"mihoyoyomihoyomimihoyo",2 输出:0 13或者8 22
    我的思路:暴力解直接开撕,结果只过了41%

    var subMihoyo = function (strs,k) { 
     let res = []
     // 处理这个子串
     function isMihoyo(substrs,knum){
         // 遍历
         let path = 0
         for(let i=0;i<substrs.length-5;i++){
             if(substrs[i]=='m'&&substrs[i+1]=='i'&&substrs[i+2]=='h'&&substrs[i+3]=='o'&&substrs[i+4]=='y'&&substrs[i+5]=='o'){
                 path+=1
                 i+=5
             }
         }
         if(path==knum){
             return true
         }
         return false
     }
     let i,j
     let n=0
     for(i=0;i<=strs.length-k*6;i++){
         j=k*6+i
         while(j<strs.length){
             // i应该什么时候移动?
             let substr = Array.from(strs).slice(i,j)
             if(isMihoyo(substr,k)){
                 res.push([i,j-1])
                 break
             }
             j++
         }
     }
     if(res.length>0){
         res.sort((a,b)=>(a[1]-a[0])-(b[1]-b[0]))
         return res[0].join(" ")
     }else{
         return -1
     }
    }
  3. 递增序列,给一个数组,让里面元素严格增加。每次操作可以让第i个元素*2(翻倍)。最少需要多少次操作
    输入:[1,2,2,2] 输出:3
    思路:照样暴力,从序号1的元素开始翻倍呗。 果然超时了 16%

    var uptoSum = function(nums){
     // nums = [2,3,2,3,2]
     // 从第一个往后
     let res = 0
     for(let i=1;i<nums.length;i++){
         let pre = 0 
         if(nums[i]>nums[i-1]){
             continue
         }else{
             // 当前数字小于前面的数
             let temp = nums[i-1]
             let path = 0
             while(nums[i]<=temp){
                 temp=temp/2
                 path++
             }
             nums[i] = nums[i]*(2**path)
             res+=path
         }
     }
     return res
    }

    到这里做完,心态小崩,有点不想去思考其他思路了 T^T

#米哈游##米哈游笔试##米哈游校招##米哈游23秋招笔试心得体会#
全部评论
第三题
2 回复 分享
发布于 2022-09-16 18:37 广东
第二题力扣原题,滑动窗口,会的很简单
1 回复 分享
发布于 2022-09-15 15:45 广西
第一题是不是输出格式不对,我就是的,找半天才发现
1 回复 分享
发布于 2022-09-14 22:30 江苏
前端mihoyo多选题感觉挺难
1 回复 分享
发布于 2022-09-14 22:28 浙江
恐怖😱
点赞 回复 分享
发布于 2022-11-17 11:20 上海
投的是平台吗
点赞 回复 分享
发布于 2022-09-17 09:12 上海
兄弟,*******从此秋招不迷路
点赞 回复 分享
发布于 2022-09-16 13:14 澳大利亚
第三题 应该是溢出出现问题,没溢出的话时间最多32*n 不可能超时,建议不要直接乘,用一个变量k维护前一个要乘2^k
点赞 回复 分享
发布于 2022-09-16 12:26 广东
咱俩第一题的答案写得一模一样
点赞 回复 分享
发布于 2022-09-15 18:38 上海
C了两道,估计没了
点赞 回复 分享
发布于 2022-09-15 17:01 上海
666
点赞 回复 分享
发布于 2022-09-15 16:18 广东
笔试完了还在讨论技术
点赞 回复 分享
发布于 2022-09-15 15:59 安徽
想问下第三题有uu知道有LeetCode原题吗
点赞 回复 分享
发布于 2022-09-15 10:59 内蒙古
第一题奇偶奇偶奇偶偶会存在问题,更优的解是偶奇偶奇偶奇偶,需要排除这个情况
点赞 回复 分享
发布于 2022-09-14 22:26 浙江
第二题用滑动窗口做
点赞 回复 分享
发布于 2022-09-14 22:21 浙江
推荐去看这个大佬的题解:https://www.nowcoder.com/discuss/1051274
点赞 回复 分享
发布于 2022-09-14 22:15 广东

相关推荐

一面(2025/03/26)1.&nbsp;自我介绍2.&nbsp;小程序项目相关&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;为什么没写到简历上去&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;小程序开发流程,没有涉及到后端吗3.&nbsp;你觉得你的&nbsp;JS&nbsp;水平怎么样,手撕```txt//&nbsp;问:列表转换为树状结构,可假设父节点总是先出现,且只有1个根节点(即parentld:&nbsp;0).tree([&nbsp;&nbsp;{&nbsp;id:&nbsp;11,&nbsp;parentld:&nbsp;0&nbsp;},&nbsp;&nbsp;{&nbsp;id:&nbsp;44,&nbsp;parentld:&nbsp;11&nbsp;},&nbsp;&nbsp;{&nbsp;id:&nbsp;22,&nbsp;parentld:&nbsp;11&nbsp;},&nbsp;&nbsp;{&nbsp;id:&nbsp;33,&nbsp;parentld:&nbsp;22&nbsp;},&nbsp;&nbsp;{&nbsp;id:&nbsp;55,&nbsp;parentld:&nbsp;11&nbsp;},]//&nbsp;期望返回id:&nbsp;11,parentld:&nbsp;0,children:&nbsp;[&nbsp;&nbsp;{&nbsp;id:&nbsp;22,&nbsp;parentld:&nbsp;11,&nbsp;children:&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;id:&nbsp;33,&nbsp;parentld:&nbsp;22,&nbsp;children:&nbsp;[]&nbsp;},&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;},&nbsp;&nbsp;{&nbsp;id:&nbsp;44,&nbsp;parentld:&nbsp;11,&nbsp;children:&nbsp;[]&nbsp;},&nbsp;&nbsp;{&nbsp;id:&nbsp;55,&nbsp;parentld:&nbsp;11,&nbsp;children:&nbsp;[]},]```4.&nbsp;浏览器输入&nbsp;URL&nbsp;发生了什么,尽可能详细5.&nbsp;说一说回流和重绘,如何在这方面优化6.&nbsp;TLS&nbsp;如何确保安全的7.&nbsp;浏览器存储数据的方式8.&nbsp;浏览器垃圾回收9.&nbsp;用过哪些打包工具,Wepack&nbsp;和&nbsp;Vite&nbsp;的区别10.&nbsp;Ajax&nbsp;了解吗(不了解(ಥ_ಥ))11.&nbsp;对模块化的理解,有哪些规范12.&nbsp;window.history&nbsp;是做啥的13.&nbsp;状态码14.&nbsp;OJ&nbsp;重构项目&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;你负责哪部分&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;C&nbsp;端项目重构过程如何确保系统稳定,如何做好系统保障,如防止用户流失&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;有遇到那些难点15.&nbsp;了解大模型吗,常用哪些大模型,有用过编译型&nbsp;AI&nbsp;吗(cursor、trae)16.&nbsp;反问:业务是做什么的?做短视频相关,框架用的&nbsp;React&nbsp;Native面试官长得好帅,看起来还很仁慈善良,可恶,不去也罢(肯定不是嫉妒他,肯定不是)
点赞 评论 收藏
分享
05-16 23:53
已编辑
东华大学 前端工程师
一面(2025/04/22)1.&nbsp;本科学的大数据,为什么选前端2.&nbsp;OJ&nbsp;项目&nbsp;24&nbsp;年&nbsp;6&nbsp;月结束,那这中间做了什么。回答搞横向+小论文,然后最近搞泡泡图项目,问横向是跟什么有关3.&nbsp;做项目之前怎么学习的4.&nbsp;301&nbsp;302&nbsp;304&nbsp;分别是什么5.&nbsp;css&nbsp;选择器6.&nbsp;Vue3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;生命周期(这里竟然忘了具体的名字了!说着说着给自己绕晕了,然后答的&nbsp;create&nbsp;有两个、mount&nbsp;有两个、update&nbsp;有两个、unmount&nbsp;有两个。。。)&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;onMounted&nbsp;主要做什么&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;onUnmounted&nbsp;呢&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;Diff&nbsp;算法7.&nbsp;项目中有没有用过防抖节流等函数,说到了&nbsp;OJ&nbsp;里防抖的使用&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;那防抖怎么实现的,答得&nbsp;setTimeout&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;那&nbsp;setTimeout&nbsp;会产生什么影响,不知道&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;那问你另外一个问题,JS&nbsp;事件循环&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;结合事件循环,再考虑第二个问题呢&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;提示了时间可能并不准确(可以看看别人的实现是怎么避免这个影响的)8.&nbsp;了解打包工具&nbsp;Webpack&nbsp;和&nbsp;Vite&nbsp;吗,优缺点呢9.&nbsp;重构&nbsp;OJ&nbsp;时有遵循一些什么原则或者规范,母鸡,猜了模块化和单一职责原则(不是说的名字,而是说的方法跟这两个原则比较类似)10.&nbsp;Git&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;会用&nbsp;Git&nbsp;吗,流程是怎么样的&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;如何撤销提交(面试官夸我说面了这么多校招生是唯一一个知道这个的)&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;PR&nbsp;之后如何撤销提交,这个不会,面试官也说这题超纲了11.&nbsp;有用过&nbsp;Cursor、Windsurf&nbsp;吗,我回答的&nbsp;Trae,&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;使用体验,与大模型有什么不一样的&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;有没有提前做一些配置比如告诉模型我这个项目是做什么的(我直接拿来就用了,没有这个过程)12.&nbsp;写一个&nbsp;Prompt,题目是实现一个搜索框13.&nbsp;手撕:最长递增子序列14.&nbsp;反问:技术栈、工作时间面试官长得好看,人还特别好,对我特别有耐心,面试过程中更像是聊天,会总结你说的话,也会给你提示和建议。最后手撕题遇到了一个之前秒做的题目,以为两分钟写完,结果&nbsp;debug&nbsp;了十分钟,不过面试官很耐心地一直等我写完,最后终于是写出来了。(ಥ_ಥ)
美团一面2111人在聊 查看24道真题和解析
点赞 评论 收藏
分享
评论
15
55
分享

创作者周榜

更多
牛客网
牛客企业服务