20秋 后台开发 小红书 一二三四面

2020年9月20号
一面 下午2点
自我介绍
1.对一个长度为n的数组,给定k( 1≤k≤n),求长度为k的连续子数组的平均值的最大值。如果k不确定,怎么做?
2.连续子数组的最大和
3.连续子数组的最大乘积
4.有1000个日志文件,每个日志文件中有很多按照时间顺序排列的记录,每条记录的格式为“时间 日志内容”。给定一个时间范围[t1, t2],找出范围内所有的日志记录,并按照时间从小到大的顺序排列,如何实现?

二面 下午3点15
自我介绍,交流项目
1.给定两个用字符串表示的正整数,计算这两个数相减的结果,返回字符串表示的结果
2.Java的垃圾回收机制
3.走迷宫问题,如何求出所有可能路径?如何找出最短路径?

三面 下午4点30
自我介绍,交流项目
1.有一个矩阵,每个格子里有一定数量的金币,只能往右下走,求从左上角走到右下角能获得最多的金币数量。

2.给定一个正整数N,可以印刷任意面值的纸币无数张。给出一种方案,使得印出的纸币数量最少,且可以表示出1..N的所有整数(例如N=10,至少需要印面值为1、2、3、4的纸币各一张)

给了一个穷举的方法,最多可以印N张1块的纸币嘛,然后可以列出所有可能的方案再一一检验,时间复杂度大约是O(n!)    (*╹▽╹*)
面试官给了点提示,我想出了一个方案:最少需要印出logN + 1 张,印刷方案是1、2、4、8... 2ᵏ 各印一张,这样就可以表示从1 - 2^(k+1)的所有数,最后再印一张面额为N - 2^(k+1)的纸币即可
如何证明这个是最优解?(真的想不出来...)

面试官说这个是他之前参加面试的时候被问到的题目,这道题还有后续的问题,如果现在已经有了一些面额的纸币若干张,最少需要补印多少张其他的纸币呢?

HR面 下午5点30
自我介绍
对前几轮面试的评价
如果大学可以重来,你打算怎么度过
介绍下之前的实习经历
从上一段实习中学到了什么
目前有哪些offer

HR表示过一段时间会发意向书
#校招##Java工程师##小红书##面经#
全部评论
小红书,怎么全是算法题。比字节还狠
1 回复 分享
发布于 2020-09-20 22:52
hr直接给你说给你发啊?我这说等一个礼拜
点赞 回复 分享
发布于 2020-09-21 09:53
这也太狠了
点赞 回复 分享
发布于 2020-09-21 09:54
背包问题阿。大哥
点赞 回复 分享
发布于 2020-09-21 09:57
数学归纳法可以证明最少需要log2N+1张
点赞 回复 分享
发布于 2020-09-21 10:22
我这意向书都发了半个月了,也没HR和我联系
点赞 回复 分享
发布于 2020-09-21 18:18

相关推荐

金山干嘛,挂了又发笔试,复活赛还是KPI
苏_Official:我投了三个base,做了两次笔试然后复筛都挂了,今天他还发笔试,有点离谱了
投递金山WPS等公司10个岗位 > 软件开发2024笔面经 牛客创作赏金赛
点赞 评论 收藏
分享
11-10 11:27
东北大学 Java
点赞 评论 收藏
分享
5 44 评论
分享
牛客网
牛客企业服务