米哈游笔试 3.29

笔试前基本搜不到什么题,也不知道复习什么,直接考。考完看了别人发的帖子,好像所有技术岗考的内容都一样。鼠鼠投的是前端(人事系统)的暑期实习。

1. 单选题
内容包括C++,计网,操作系统(进程线程调度的问题),浏览器缓存(没考前端的内容,觉得确实是所有技术岗位统考)

2. 多选题
内容包括C++,计网,操作系统,数据结构
(C++是真的多,我是一点也不会,没学,直接凉了,操作系统的那些选择也好多不会)

3. 代码题
(1) 给一个数组,定义一个“区间”= [1, i],在这个“区间”的对应凸区间 = [min{a1,... ai}, max{a1, ... ai}] 中,找出不属于该凸区间的最小非负数。(理解题意就得看好一会,头次看想错了,重写花了点时间,我直接按求区间->遍历区间求凸区间->获得结果,这种暴力写法写,不出意外超时,觉得可以用动态规划写,但没想出来)

'''js

let arr = [1, 0, 4, 5, 1]
let result = []
let min = Number.MAX_VALUE, max = 0
for(let i = 0; i < arr.length; i++) {
  // 维护最大值和最小值就好,别再去求区间,遍历
  min = Math.min(min, arr[i])
  max = Math.max(max, arr[i])
  if(min > 0) {
    result.push(0)
  }else {
    result.push(max+1)
  }
}
console.log(result)

'''

(2) 给一个二进制序列,如:&amp;amp;quot;001100&amp;amp;quot;,然后把11往后移1位,...,最后形成一个方阵,如:
001100
000110
000011
100001
110000
011000
求这个方阵中,由0组成的最大矩形或三角形的面积(没思路直接过)

'''js

let s = '001110'
/**
 * 别傻傻去生成矩阵,直接求连续的0,再从1累加得到面积,如果全0则直接求正方形面积
 * 
 * 001110
 * 000111
 * 100011
 * 110001
 * 111000
 * 011100
 */
let isSquare = true
for(const i of s) {
  if(i !== '0') {
    isSquare = false
    break
  }
}
if(isSquare) {
  console.log(s.length * s.length)
}
let zeroNum = s[0] === '0' ? 1 : 0
let max = 0
let ss = s + s
for(let i = 1; i < ss.length; i++) {
  if(ss[i] === '0' &amp;&amp; ss[i - 1] === '1') zeroNum = 1
  if(ss[i] === '0' &amp;&amp; ss[i - 1] === '0') zeroNum++
  max = Math.max(max, zeroNum)
}
console.log((1 + max) * max / 2)

'''

(3) 给一个数组,一个查询次数n,和n个输入的目标值,求这个数组中任意2个不同的数,他们的乘积等于对应的目标值,输出是n对下标(找不到[-1,-1])。(也是直接暴力解法,过了20%,可以再进行剪枝,但还是没过)考完才发现可以用两数之和哈希表的操作

'''js

let arr = [2,3,6,7,3,7,4]
let target = 6

let map = new Map()
let result = []
for (let i = 0; i < arr.length; i++) {
  if(arr[i] > target) continue
  if (map.has(target / arr[i])) {
    result = [i, map.get(target / arr[i])]
  }
  map.set(arr[i], i)
}

console.log(result)

'''

总结:太难了,又是一轮游,下去再沉淀沉淀。之前看过米哈游秋招的笔试,好像是21年还是22年的,手写题都没这么难,都a出来的,现在tm是越来越难,也可能是一紧张脑子乱了(好了不说了,主要原因是自己菜)

再做了一遍,确实觉得没有考试那时感觉难,最后一题在想去重+根号n,去重的话,索引不会发生变化吗。(看看有无佬过了这一道)
#笔试##米哈游##暑期实习##前端##前端实习#
全部评论
第一题,维护区间最小值和最大值就好。 第二题,考虑连续的0个数,然后按三角算,如果全是0,按矩形算 第三题,我排序,二分 20%
2 回复 分享
发布于 03-29 17:22 重庆
第二题考完才想到根据旋转直接算太紧张了第一次笔试
1 回复 分享
发布于 03-30 18:58 广东
算法比往年难好多
1 回复 分享
发布于 03-29 17:14 安徽
请问大概多久推进的面试啊
点赞 回复 分享
发布于 05-16 18:48 江苏
第三题算法有问题,你看6/7等于的结果是0,那0*7等于6吗?
点赞 回复 分享
发布于 04-15 20:51 江西
第三问尝试缓存,可以增加一点。好像很多次都不需要算来着,这种题,一般缓存真的好用😂😂😂
点赞 回复 分享
发布于 04-09 17:27 江苏
现在还是待测试是什么情况大佬们
点赞 回复 分享
发布于 04-08 21:10 陕西
笔试真的一样吗
点赞 回复 分享
发布于 03-30 18:30 黑龙江
越想越气,我是真的傻杯
点赞 回复 分享
发布于 03-30 14:22 广东
第一题应该是min大于0就输出0,而不是min等于max
点赞 回复 分享
发布于 03-30 08:59 北京
放心,我第三题就是哈希,也只是20%
点赞 回复 分享
发布于 03-29 17:25 澳大利亚

相关推荐

拷打项目科研成果是一个人做的还是团队?研究的这个项目,过程中有遇到什么比较困难的地方吗?简历里面有提到专利,那你这个专利的创新点是什么?在这个项目里,你主要负责哪方面的部分?项目的架构是怎么样的?这部分是你自己做还是和其他人一起?做数据通信这一块有没有遇到过一些数据同步或者一些消息延迟的一些问题遇到了解决了吗?假设现在让你解决这个数据延迟的问题,你会怎么解决?没考虑过更换协议吗?八股文tcp协议和UP协议的区别tcp三次握手四次挥手http和TCP的关系测试场景你也说了http有很多协议,那假设现在一个浏览器只能接受http1.1的协议,你现在用的是http2.0的协议,你现在需要把http2.0降级到http1.1,那你会为这个降级去做一些什么方面的测试设计,去保证你这个功能没有异常。从安全方面上有没有考虑?继续拷打项目第二个项目的实现逻辑你这个爬虫的项目是怎么应对反爬虫的手段当初为什么用selenium框架不直接调用API接口你这里爬虫有一个获取服务器时间的,为什么不直接用本地时间?那现在如果让你针对你的这个爬虫系统去做用例设计,去测试它,你觉得就是你会从哪些方面去测试你这个系统是真的稳定些,可靠可用的。智力题给你八个球,其中一个球比另外七个轻,然后有一个天秤去称,就排除运气的情况下,最少要几次才能找到那个轻的球?手撕代码1、设计-个Python装饰器&nbsp;@cache(expire&nbsp;time=60,max&nbsp;size=100),要求实现以下功能:缓存结果:对同一组参数的函数调用,在&nbsp;expire&nbsp;time&nbsp;秒内直接返回缓存值。缓存淘汰:当缓存条目超过&nbsp;max&nbsp;size&nbsp;时,删除最久未使用的缓存(LRU策略)参数兼容:支持函数的位置参数、关键字参数。过期清理:异步线程定期清理过期缓存(可选加分项)示例:@cache(expire&nbsp;time=10,&nbsp;max&nbsp;size=3)def&nbsp;heavy&nbsp;calculation(n):print(f&quot;计算&nbsp;{n}&nbsp;的耗时操作...&quot;)return&nbsp;n&nbsp;*&nbsp;n2、有三个数&nbsp;a、b、c,大小在[1,10000000000]&nbsp;区间内,并日&nbsp;a这第二题有大佬见过是力扣第几题吗?
查看22道真题和解析
点赞 评论 收藏
分享
评论
6
16
分享

创作者周榜

更多
牛客网
牛客企业服务