58到家

收藏
消费生活
暂无
D轮及以上

0

在招职位

214

面试经验

0

真题试卷

上传简历
此刻你想和大家分享什么
职位类型
全部
运营
最新
热门
一条路上依次排列着N个七色豆,七种颜色分别用字符abcdefg表示。一条机器小人沿着这条路往前捡豆豆,机器小人会按下发给它的指令串进行动作:指令串由abcdefg*这八个字符组成。其中abcdefg是豆豆的颜色,表示机器小人接下来可以捡一粒该颜色的豆豆。如果指令串接下来出现"*这个字符,表示机器小人可以重复前一个动作任意多次(包括0次)。如果指令串执行结束,或者遇到当前指令不能匹配的豆豆,机器小人停止前进。求机器小人最多可以捡到多少个豆豆。输入描述:第一行输入一个字符串,为N个豆豆的颜色,长度N不超过1000第二行输入一个字符串,为机器小人的指令串S,S长度不超过1000输出描述:第一行输入一个字符串,为N个豆豆的颜色,长度N不超过1000第二行输入一个字符串,为机器小人的指令串S,S长度不超过1000补充说明:整数值,表示机器小人最多可以捡到多少个豆豆示例:输入:abbbbcdefgab*c*d输出:7在一个神秘的森林中,住着一群聪明的小动物。每只小动物都有一个独特的魔法数字。一天,森林中的智者决定进行一次特殊的仪式,需要小动物们按顺序站好,从中挑出不少于一只小动物站成一队,现在需要从这个队伍中挑选出来一些小动物,实现挑出的小动物的魔法数字之和是最大的,要求挑选出来的小动物不能改变其在原始队伍中的相对位置,并且挑选出来的小动物在原队伍中的位置间隔不能小于k。输入描述:第一行包含两个整数n和k,表示小动物的数量和最小位置间隔。数组长度n的范围是[1,100000],最小距离k的范围是[1,n]第二行包含j个整数,表示每只小动物的魔法数字。每个魔法数字的取值范围是[-10000.10000]输出描述:输出一个整数,表示满足条件的最大和。示例 1:输入:5 23 2 5 10 7输出:15说明:共有5个小动物,要求挑选出的小动物在原始队伍中的位置间隔不能小于2,当前五个小动物站成一队后,魔法数组分别为3 2 5 10 7,按照要求得到的最大的值为15,其挑选出的队伍为3 5 7请使用Golang实现肖林在大学毕业后,计划安排一次愉快的旅游,所以提前对想去的旅游景点进行了量化评估,方便挑选出最优的旅游路线。评估维度分为三个属性,分别为m、n和(x,y),其中m代表疲劳值,n代表兴奋值,(x,y):代表景点位置。家所在位置为(0,0)。并且从旅游景点(x1,y1)到旅游景点(x2,y2),会产生一定的疲劳值,其疲劳值为|x1-x2|+|y1-y2|。选择k个旅游景点,计算最终的疲劳值cm和兴奋值cn,而cn/cm则代表本次旅游的舒适值,舒适值最高的旅游路线,即表示为最优的旅游路线。cm代表所有旅游景点的疲劳值之和,再加上路上所产生的疲劳值。cn代表所有旅游景点的兴奋值之和。现在有t个旅游景点,肖林准备选择k个景区进行游玩,旅游路线需从家里出发,经过k个景区并最终回到家里。请为肖林规划好最优的旅游路线。输入描述:第一行输入t k,空格分割,分别代表旅游景点总数和计划游玩的旅游景点个数。0<k<=t。第二行到第t+1行输入m n (x y),空格分割,代表每个旅游景点的属性。输出描述:舒适值(保留6位小数点),表示最优旅游路线的舒适值。示例:输入:3 26 20 (10 15)-5 10 (30 27)-15 10 (20 25)输出:0.370370说明:最优旅游路线为:(0,0)->(10,15)->(20,25)->(0,0)或者(0.0)->(20,25)->{10,15)->(0,0)计算出cm=81,cn=30,最终计算的值为0.370370微隔离产品有个流量可视的模块,流量可视会图形化展示服务器之间的所有访问关系,其中访问关系需要匹配***策略以让用户观测该流量是否被放行or拒绝,拒绝的原因是匹配到了某一条***策略。请你设计一个算法来快速完成访问关系的策略匹配。流量数据和***策略均为五元组(src_ip,src_port,dst_ip,dst_port,protocol)流量五元组示例和格式说明src_ip:字符串,仅支持ipv4格式。如:1.1.1.1src_port:整数,1-65535。如:222dst_ip:字符串,仅支持ipv4格式。如:1.1.1.1dst_port:整数,1-65535。如:111protocol:整数:仅支持tcp:17,icmp:1,udp:6***规则示例和格式说明src_ip:字符串,支持ip段/单个ip/任意IP。如:1.1.1.1,1.1.1.1-1.1.10.1,0.0.0.0src_port:字符串,支持端口范围/单个端口/任意端口。如:80,80-90,0dst_ip:字符串,支持ip段/单个ip/任意IP。如:1.1.1.1,1.1.1.1-1.1.10.1,0.0.0.0dst_port:字符串,支持端口范围/单个端口/任意端口。如80,80-90,0protocol:整数,支持17/6/1/0(tcp:17,udp:6,icmp:1,ALL:0)有n颗珍珠,编号0~n-1,它们中间有细线连接,每颗珍珠至多与其他3颗珍珠连接,且不形成环路,所有珍珠都连接在一起。对于每颗珍珠,他们的重要度定义如下:假设去掉编号为k的珍珠,那么剩下的珍珠按照连接关系会分裂成1-3组,每组的珍珠数量的乘积即为k号珍珠的重要度。求:具有最高重要度的珍珠有几颗?输入描述:第一行输入n,下面n行输入编号0~n-1的珍珠的邻接珍珠,第一个数代表邻居的数量k,后面跟k个数代表邻居编号,为了避免重复数据,只输入编号比自己编号大的邻居。示例:51 11 22 3 400上面的数据代表:0号连接着1;1号连接着2;2号连接着1,3,4,因为1比2小,之前的数据里包含了这个连接关系,所以只输入3,4;3号连接着2,因为2比3小,3没有与其他编号比它大的数连接,所以输入0;4号连接着2,因为2比4小,4没有与其他编号比它大的数连接,所以输入0;输出描述:一个整数,代表具有最高重要度的珍珠的数量对于刚刚输入的例子,输出为3解释:节点0的分数是4节点1的分数是1*3=3节点2的分数是1*1*2=2节点3的分数是4节点4的分数是4最高得分为4,有3个节点得分为4,输出3示例1输入:51 11 22 3 400输出3请使用Golang实现该算法小红和小紫正在玩一个游戏,每一关都有一个分数。如果某人某一关分数比上一关高,但另一个人这一关分数比上一关低,那么他就可以嘲笑对方。如果两个人这一关游戏的分数都比上一关多,则增量更多的可以嘲笑对方;如果两个人这一关游戏的分数都比上一关少,则减量更少的可以嘲笑对方。只有当他们的增量相同或者减量相同时,才不会互相嘲笑。例如,假设小红第一关的分数为5,第二关的分数为10;小紫第一关的分数为2,第二关的分数为8,显然小红增加的比小紫多,那么小红就可以嘲笑小紫。现在给定了小红和小紫每一关的分数,你可以选择一段连续的关卡,使得这一段关卡中两个人都不会互相嘲笑,问最多可以选择多少个关卡。特别的,一段连续关卡中的第一关两人不会互相嘲笑。输入描述:第一行输入一个正整数几,代表关卡数。第二行输入n个整数ai;,代表小红每一关的分数。第三行输入n个整数bi;,代表小紫每一关的分数。2 ≤n< 10^5-10^9≤ ai,bi≤ 10^9输出描述:输出可以选择最多的关卡数。示例 1:输入:51 2 3 1 3-1 0 3 -1 1输出:2说明:可以选择前两个数,[1,2]和[-1,0]相似,长度为2。选择后两个数也是可以的。对于一个仅由左括号'('和右括号')'组成的字符串,小红想知道它的最长合法前缀的长度是多少。对于某一个前缀,我们定义它是合法的,当且仅当该前缀满足以下条件:存在一种拆分方案,可以将该前缀拆分为若干对匹配的括号'()'如'(),'()()','(())'都是合法的,而')()(','))'是非法的。特殊的,空串我们认为也是合法的。输入描述:第一行输入一个整数n,表示字符串的长度。接下来一行输入一个长度为n的,仅由'('和')'组成的字符串1 ≤n≤ 10^5输出描述:输出一个整数,表示最长的合法前缀长度。示例1输入5(()))输出4说明可以证明前缀(())是最长且合法的前缀
投递腾讯等公司6个岗位
点赞 评论 收藏
分享
04-29 14:41
已编辑
深圳大学 Java
这段时间忙着毕设一点准备没有,本身学的也是java(技术水),发现投的java全部石沉大海,反倒是投的cocos相关和游戏开发的回复率较高,做了两场笔,进了2次面(有一家没笔试)3.30 网申先插播一条逸闻,去boss上搜到这家的游测助理岗,hr秒批说让进官网网申,然后进去一看有游戏开发岗,果断转投这个,次日boss上hr回我为什么没投,我说我投客户端开发了(笑)3.31次日通过,当天完成各位都完成过的各类评测4.3上午收到观点题通知,要求24小时完成,但我那天要忙着回家,到家已是半夜2点。在网吧没开视频满脸困意与疑惑下写完了小作文。4.8假期后返校某天突然收到笔试通知,4.9指定时间内完成,具体内容不太记得,大致范围包含基本八股,数据结构各种树和图,数据库相关,经典死锁等。但我感觉是很难的,最后给一道游戏有关暴击率期望计算题(思想正确,结果错误❌)4.14又是突然之间,收到技术面通知安排在4.18下午此时才注意起来这家已经进到正式流程问了两个c++八股,接着跳转到项目,进行针对性深挖,后续几乎一直在看项目(大约3个项目,有一个没写在简历上),聊了1h15min左右。期间穿插一些c++的问题,智能指针,指针函数之类的。手搓单例模式。4.21通知4.24上午hr面试。hr面很平淡,先问常规问题,聊了吸烟问题,实习问题,家庭情况等,不过家庭情况聊的比较细致。接着问期望薪资,加班接受情况。然后问了两个观点题(应该是当时没答好的两个,当时答的时候我自认答得三观很正,但后来才了解到这家并非要三观正(笑))个人感觉答的良好。结束说五个工作日内给消息。结束之后两小时显示审核中。4.29审核的第5个工作日,下午2点显示未录用。没有原因。全程也没有对接人。估计是要多了。结论:过完五一接着找吧(昨天才拒了另一家搞机器学习的,这下自己搞到0offer了)
点赞 评论 收藏
分享
投美团暑期,一志愿选的核心本地商业美团平台,三天没捞挂了。二志愿业务研发平台给我捞了,约在了今天1. 一上来面试官先介绍部门2. 自我介绍3. ES按距离查询附近的景点怎么做的?讲了讲geohash4. 具体说一下雪花算法5. 序号部分的生成策略?6. 机器号怎么分配?说了可以按ip进行hash,面试官问有没有成熟一些能直接落地的方案,我说可以预分配或者用redis的zset存储可用的机器号,新机器上线之后自己去认领一个最小的7. 时钟回拨怎么解决?说了美团leaf的解决方案,并且说了可以将机器号拆出几位作为时钟序号,每次回拨就自增。个人更喜欢后者,更轻量级8. 说下什么是幂等9. 项目中怎么做的幂等?从前端按钮置灰,业务层唯一幂等标识和数据库唯一索引兜底三个角度说了说10. 操作redis怎么保证原子性?说了lua脚本,追问平时有自己写过lua脚本嘛?我说去年自己做了个垃圾游戏,用lua写过一些script。又讲了讲redis.call和redis.pcall11. kafka的partition讲一下?12. 如果某个topic中的某个消费者组想要提高自己的消费速率,可以从哪些方面优化?13. redis库存预占怎么实现的?讲了一番,面试官说你写的那个东西在企业中其实没多少人用(害怕😨)系统设计题1. 如何设计一个扫码登录系统?2. 如何设计一个短链接系统?算法题反转链表II算法题思维难度很低,不过一些细节处理感觉想要写的很优雅还是不容易的。我代码写的很臃肿,不过用例倒是都过了,面试官说没问题反问面试表现(整体不错,唯一的缺点是有点给人一直死记硬背的感觉,但是考虑到是校招生所以也没啥(呜呜))总结:这次的面试官也很不错,每次我回答完,都会把我刚刚说的简单总结一下,再给予肯定,一些地方还会和我探讨。基本上都是照着简历问,常规八股没咋问(这和别人的面经不太一样啊),并且还出了两道设计题是我没想到的  ---------更新:当天约二面
晓沐咕咕咕:其实大厂确实不用redis做库存扣减直接打到数据库了,但是肯定有做很多层优化的
点赞 评论 收藏
分享
一面:实习拷打50分钟(夸张)常用的消息队列,kafka和rabbitmq分别怎样保证顺序消费,会出现消息丢失的情况吗返回消息同步性怎么保证又问了问我觉得哪个好用redis了解吗,为什么会这么快?详细介绍single memory loop?字节开源的哪个noncopy buffer了解吗(第一次听说)redis pv和uv使用场景以及如何实现redis 的rdb操作,Async-fork介绍一下,为什么要更快,以及如何解决的数据不一致性了解过分库分表吗?介绍一下,一般分表用什么字段MVCC和nextkeylock介绍一下,是如何分工合作的hashmap的底层介绍一下,线程安全吗?线程安全的是哪个,为什么不能存NULL值一道SQL,找出及格的学生一道算法,判断一棵二叉树是否左右对称第二天约二面实习问了半个小时,主要是介绍需求背景和优化方案问了几个关于TCP的问题,三次握手的异常状态,问我看没看过TCP底层源码QUIC介绍一下http从1.0到3.0介绍一下每次主要有什么更新MySQL读写分离和主从复制了解过吗redis的五大数据结构的底层,点赞怎么实现,有没有更好的中间件去做看过哪些框架的源码,AOP怎么实现的手写一个单例模式算法题:两数之和总体二面难度比一面低,感觉大部分时间在聊天都是年前面的,年后告诉我OC了,但是我已经报道两天了,虽然业务很核心但被迫拒掉
查看20道真题和解析
点赞 评论 收藏
分享
01-07 19:35
已编辑
门头沟学院 Java
不出意外又凉了,自己的基础知识太不扎实了,无实习经历也是减分项,准备沉淀一段时间了评价:基础不牢,地动山摇。面试官对我的玩具项目不感兴趣,看我非科班出身,疯狂拷打408。LeetCode好久没刷,算法题没写出来,凉!1.自我介绍2.讲讲JWT,为什么要用JWT,JWT的组成,数据怎么存储?Payload里存哪些东西?JWT安全性如何保证?3.你项目里用MD5对用户密码进行加密,为什么要用MD5?MD5安全性存在问题,你知道其他算法吗?你是如何给密码加盐的?4.HTTP与TCP的区别?HTTP有哪些版本,版本之间的区别?5.HTTP请求头中你知道有哪些字段?6.讲讲HTTPS连接建立的过程。为什么需要非对称和对称的两套密码体系?服务器提供的公钥可信吗?CA是什么,有什么用?CA证书可以自己签吗?7.讲讲红黑树。“红”和“黑”的意义?有哪些性质?有哪些优点?你在项目里面用到过红黑树吗?8.讲讲跳表。你在项目里面用到过跳表吗?9.你用过哪些shell命令?如何查看文本的前面几行?如何查看后面几行?10.操作系统管理内存的方式有哪些?11.算法题:LC原题516.最长回文子序列12.逻辑题:数字0-9以7段码的格式显示,求出所有整体旋转180°后,仍为自身的5位数的个数。(例如80808旋转后仍为自身,且首位不能为0)讲讲思路补充一道面试题:volatile关键字有什么用?什么是可见性和有序性?volatile可以保证线程安全吗?为什么?反问
查看13道真题和解析
点赞 评论 收藏
分享
2024-10-21 15:44
已编辑
西北工业大学 Java
秋招第一个offer,9月中拿到意向,最近忙完论文的事了,才开始整理牛客面经。之前暑期拿了美团测开的offer,但是撕了没去,秋招团子还是给我两天速通,鼠鼠真的化身团孝子了。tl:8.31笔试、9.12一面、9.13二面,当晚直接意向。bg:双非本,985硕,无实习,无竞赛获奖,一篇三区水文,项目是马丁的短链接(稍微做了改进)+mini spring+实验室课题(偏算法)。一面面了很久,纯八股战神,面试官应该是有一个list一路问下去,中间我试图引导话题,但是对方根本不搭理我。●java的基本数据类型,int表示的范围,不能光说指数表示,要给出大致的数量级别●Integer等包装类的拆箱与装箱过程中会有什么问题●java的异常●final关键字的作用●hashmap的底层原理●linklist与arraylist的底层,他们的区别和应用场景●synchronize与volatile●线程池的关键参数●线程池提交线程任务的流程●java垃圾回收机制●jvm类加载过程、双亲委派机制●jvm内存区域●spring ioc与aop的理解●spring循环依赖怎么解决●springboot启动流程●mysql索引b+ tree,常用的索引有哪些●mysql事务隔离级别●mysql explain命令●msql深翻页问题●jvm内存泄漏怎么出现的,如何排查●手撕:搜索二维数组二面的时候就没问八股,主要集中在项目,加上手撕也就30min。因为没实习+烂大街项目,可以看出二面面试官不感兴趣,都没有想提问的。结束后当晚发意向邮件,但是没有hr电话oc,直到现在也没任何hr联系我,应该是大白菜。
点赞 评论 收藏
分享
2024-10-24 23:07
蚌埠坦克学院 Java
查看12道真题和解析
点赞 评论 收藏
分享
2024-10-19 09:48
门头沟学院 Java
点赞 评论 收藏
分享
        今天分享一下美团和蔚来面试中遇到的一些问题。1.(蔚来二面)在forEach和map里面对遍历的值进行改变会影响原数组吗        认真背八股的同学肯定都记得,forEach不会返回新的数组,只是遍历每一项并做计算,map会返回新的数组,所以理所当然的想map不会改变原数组,forEach...会怎么样??想到这里就错了,这也是我当时的思路。        事实上这个问题跟上面那个八股完全没关系。试想一个函数,传递了参数进来并改变这个参数,会不会对原来数据进行改变呢?这个题是在靠这个,需要分类回答。        数组中数据为基本数据类型时,forEach和map都不会改变原数组;数据为引用数据类型时,map和forEach都会改变原数组。在使用 forEach 和 map 方法时,对引用类型元素的修改会直接反映在原始数组中。这是因为引用类型的元素实际上存储的是引用(内存地址),而非值本身。因此,通过引用可以访问和修改原始数组中的元素。而number,string,Boolean,null,undefined这些基本类型在栈内存中直接存储变量与值。2.(美团到家一面)为啥会出现箭头函数        这一个问题可以去b站渡一老师的小视频里看看。        肯定很多人跟我一样第一时间想到的是箭头函数和普通函数的区别,那为啥有这些区别,为啥要单独搞个箭头函数出来?难道只是为了简单吗。其实原因只有一个:消除函数的二义性。        在出现箭头函数之前,函数可以直接被调用,也可以被new当作构造函数使用,这就是函数的二义性。而这种二义性的存在是会给开发带来负担的,因为创建者并不知道未来函数的调用者是如何使用这个函数的,所以后来先在命名上做了规范:小写开头的函数是直接使用的,大写开头的是构造函数。但这种规范也不是强约束,毕竟既可以Number(),又可以new Number(),所以为了消除这种二义性,创造了箭头函数和class,箭头函数只能() => {},当作普通函数调用,而class只能被new,这就刚好对应二义性的两种用法,解决这种复杂情况了。————————10.10补充————————        感谢牛u的提示,这边还有一个点补充。        箭头函数的出现解决了this的复杂指向问题。        举例如图3所示,当调用show方法打印this.x的时候打印的是undefined。这是因为当代码执行到了setTimexout( )的时候,此时的this已经变成了window对象(setTimeout( )是window对象的方法),因此会在window上查找x,找不到,就输出undefined。        而如果是箭头函数,箭头函数的this是定义时就确定的,因此箭头函数的this指向的是obj,输出的就是obj.x。这样就解决了普通函数在当作回调函数传递的时候this变化带来的麻烦,否则就要用全局变量或者闭包之类的方法。3.(美团到家一面)obj对象中有一个方法,用obj.a()和(obj.a)()去调用分别输出什么(a方法中输出this.name,obj和全局都有一个name属性)?        这个题其实是当时考的一个输出题(图1)。下来尝试了一下,答案是没区别,都输出obj对象中的name。        这个题我一开始以为(obj.a)()这种调用就跟let b = obj.a,然后调用b()这种形式一样,但不是这样的,这个点可以记一下。        然后还要注意的一个点是,如果这个方法是箭头函数的形式(图2),那么this指向就不一样了,指向的是window。所以会在window上面去找name。那么这个时候输出什么?        是不是很多人脱口而出,“输出hong!”        恭喜各位掉到新坑了,这个时候输出是空(什么都没有:“”)        因为let和const定义的变量是不会挂到window对象身上的,如果改成var就能输出hong了,大家可以自行尝试一下、        (上面这个点个人认为还是很细的,一定要小心)                这几个是自己踩过的坑,第三点应该很多同学都会想错。        欢迎各位评论区交流~
菠萝包lime:佬说的太棒了,箭头函数这块我也看的渡一的视频,当时被问到还是挺爽的,直接从二义性回答。
点赞 评论 收藏
分享
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客企业服务