26届双非蚂蚁暑期实习一面(安全部门)

13号走的内推。18号下午打电话约面,3.19号下午四点开始面试。

开局就先做了20分钟的笔试题。

笔试题不是算法题,是那种场景题。例如给你一个订单Order类,使用Stream流对其进行处理,取出金额是前100的Order并进行排序,并且按照不同的订单类型拆出来多个List。只要不是算法题就直接拿捏了。

之后开始面试

⚽1.自我介绍

⚽2.实习业务

⚽3.你们这个项目的优势是什么,他解决了什么场景下的问题?

        讲了一下一整个平台的技术演进历史,强调我们一整个平台的技术演进都是为了敏捷开发。这个项目的优势就是实现          了快速处理海量需求,避免了传统后端模式的发版测试流程。

⚽4.代码热部署的技术选型是怎么做的?为什么不选择Groovy(包太重,6.8M对线上压力大,而且有学习成本)

⚽5.为什么要对类加载器手动置空,仅仅依赖JVM的垃圾回收不可以吗?

        线上脚本多,即使是测试接口也需要进行动态加载,残余下来的类需要被回收掉,降低元空间压力。

⚽6.你说你们在测试接口的时候,会置空对应的热部署脚本的类加载器?如何做到的?
    
        提供两个接口测试和部署,抽出来热部署的逻辑作为公共方法。在测试接口中进行手动置空类加载器让其回收

⚽7.统计接口的调用量的技术是怎么做的?用了本地缓存+redis+MQ,有没有考虑到消息丢失和重复消费的问题?

        强调业务更加关注数量级,接口调用量每隔一个小时进行调用。丢失一个小时的数据对于整体的接口调用量不构成什么大的影响。考虑风险和收益比没有做这个功能。

⚽8.你认为你这段实习中,收获最大的是什么?

       1.技术增长

       2.理解业务,不同的业务有不同的适用技术和解决场景。自己在美团的这四个月会更加考虑一个业务下的解决方案。              追求风险和收益比,而不是死磕技术。比如在做接口调用量的时候,我一开始也会考虑幂等和丢失,在写代码上造             成了很大的困难,mt指导之后才明白不是所有的问题都需要从技术上解决

⚽9.为什么不考研?

        表明自己有自己的规划,将来要做知识付费和网络教育。考研只是手段而不是目的。我既然有自己的目标,那相比较          于考研来讲,尽早的进入一家优秀的公司,在四五年时间来进行快速的成长才是自己想要的。

⚽10.频繁的full gc怎么看?

    拉dump文件在本地分析,强调说dump是堆状态,因此拉dump文件的方式只能查看堆空间的oom,排查不出来   元空     间的,因为元空间在本地内存。但是元空间很好排查,基本就是加载的类太多了。

到这里就直接爽了,面试官说最后在快速的过一下八股,这些应该对我都挺简单的。这话一说我就知道稳了。

⚽11.讲一讲线程池的核心参数和对应的执行流程

⚽12.在Spring 的框架中加一个AOP,他的实现原理是怎么样的?
    
    这里引到了Cglib。因为前面有讲到java agent。这里提了一嘴Cglib底层是依赖于asm这种字节码修改框架。而Java           agent之所以可以动态的修改线上服务,其实也是因为使用了asm这个字节码修改框架。

⚽13.SQL慢了你会考虑从哪些维度排查?

    索引失效,索引选错,查的数据太多,数据库抖动(脏页正在flush到磁盘),多表join,查询的语句没有索引

⚽14.在用mq的时候会考虑什么?

数据预估不要把mq打爆。对应的业务场景允不允许消息丢失,允不允许重复消费,重试机制,死信队列,人工告警,配消费者和生产者的时候不要出现跨地域的情况。例如不要出现消息投递到上海的机器之后,北京的消费者进行消费。尽量选择同一地域的。

⚽15.在使用redis的时候会考虑什么

一致性问题

⚽16.除了单例和工厂模式之外,自己还有没有用过其他的设计模式

策略模式,简历中有提到

⚽17.syn和reentrantlock的底层原理

直接秒,和面试官多扯了一会AQS

开放性问题:

⚽1.平时有没有关注过大模型?知道底层原理吗?

双非本科真是跪了,平时哪有接触过这个。和面试官聊了一下自己平时会用windsurf生成demo来学习以及借助windsurf看源码。

⚽2.为什么写公众号,创作动力是什么?

想做知识付费,大一大二的时候在tg和V2EX上受到过很多帮助,要传递热情。输出倒逼输入。

⚽3.原创占比多少?

我反问了一下面试官认为什么是原创,面试官说看我CSDN很多都是已经有的内容,问我是不是只是在做归纳总结的工作。

向面试官表达自己在最开始的时候是写CSDN,当时刚开始学Java,也没有什么自己的思考,所以就像他说的一样只是在归纳总结。但是随着自己学习的深入和有一段美团实习之后,自己就开始全面转向微信公众号。开始输出一些自己的思考和对中间件源码的解读。举了一下自己写过的京东hotkey探测中间件源码的解读。

表达自己认为自己的博客一共有两个阶段,CSDN是归纳总结,后期转向微信公众号开始正式做自己的内容输出。

⚽4.对一段实习的要求是什么?有什么想法吗?

⚽5.对工作地点在成都有什么什么看法?

有了美团实习之后的第一次面试。很爽,自己也开始慢慢的表达自己对于一些观念的看法。和面试官聊的很不错,等待二面ing

#牛客AI配图神器#

#牛客激励计划##蚂蚁##Java#
全部评论
接好运
1 回复 分享
发布于 03-20 18:55 江苏
佬是大学允许实习吗
1 回复 分享
发布于 03-20 14:08 河北
无敌
点赞 回复 分享
发布于 03-21 00:03 北京
同一个面试官,昨晚面的,早上感谢信,牛肉哥太强了
点赞 回复 分享
发布于 03-20 14:48 北京
我靠是不是跟我面的一个部门?
点赞 回复 分享
发布于 03-20 13:42 北京
接好运
点赞 回复 分享
发布于 03-20 09:36 湖北
接好运
点赞 回复 分享
发布于 03-20 07:47 河南
前几个问题都没遇到过,看不懂
点赞 回复 分享
发布于 03-19 22:42 安徽
给佬🧎‍♂️了
点赞 回复 分享
发布于 03-19 22:38 山西
接好运
点赞 回复 分享
发布于 03-19 22:35 浙江

相关推荐

距离第一次面试刚刚好过去一个月,总算是oc了,后面也不打算再找了,所以简单做个总结bg双九科班简历牛客论坛+黑马点评,有个挑战杯大模型相关比赛决赛一等奖 无实习经历,LeetCode除hot100之外有额外刷一些,大概200左右,八股一般,主要背了redis相关大概4月初开始投,虽然bg让我有不少面试机会,但大多都是一面挂,只有阿里智能信息顺利oc,鹅的复活赛进了一次二面。总结失败经验:没有实习经验、项目烂大街加上最开始确实没有完全吃透,基本一深入问就g以下记录一下时间线:美团 4.23 一面挂阿里国际 4.29 一面挂腾讯 5.8 一面挂阿里云 5.9 一面挂腾讯复活赛一番战 5.13 一面 5.20二面挂淘天 5.14 一面挂(阿里妈妈的压迫感太强了)腾讯音乐 5.14 一面挂阿里智能信息 5.15一面 5.20二面 5.23HR面 HR面后三小时oc其实还投了不少,饿了么笔试没后续,蚂蚁笔试没后续,OPPO笔试挂,虾皮笔试挂,阿里控股、京东还在池子里,很早就投的顺丰发了个面试时间意向邮件后无后续以下是面经:美团、阿里国际、阿里智能信息已单独发腾讯一面:讲讲session和cookie,了不了解单点登录csrf攻击布隆过滤器讲讲cas讲讲redis里的数据结构,跳表有了解吗热帖排行功能展开讲讲讲讲你项目里的分布式锁acid、隔离级别,mysql默认是哪个级别,为什么ioc和aop手撕:连续子数组的最大和其实这次面试体验还挺好,就是单点登录问题面试官前面暗示了很多次,最后直截了当问了,但我这块当时确实没准备到淘天一面:除了maven还有什么管理第三方包;如何处理maven依赖冲突AC自动机了解吗布隆过滤器threadlocal,如何跨线程传递值mysql的锁了解吗,什么情况下会产生死锁商品数量多时如何考虑分库分表redisson自动续锁怎么解决死锁问题get和post的区别;为什么get中带url是不安全的循环依赖是什么,spring中如何解决,适用于什么情况ioc、aop讲讲为什么要做这两个项目csrf手撕快排,讲原理被拷打最狠的一集,阿里妈妈不愧是阿里妈妈,是我完全高攀不起了腾讯复活赛一番战一面:static的作用final和finally的区别==和equals的区别为什么有了equals还需要hashcode为什么重写 equals() 时必须重写 hashCode() 方法?ioc和aopredis有哪些部署架构讲讲redisson对分布式锁的优化,什么情况下只使用单体redis手撕:删除有序链表中的重复值都是很基础的八股
点赞 评论 收藏
分享
一面(2025/03/26)1. 自我介绍2. 小程序项目相关    1. 为什么没写到简历上去    2. 小程序开发流程,没有涉及到后端吗3. 你觉得你的 JS 水平怎么样,手撕```txt// 问:列表转换为树状结构,可假设父节点总是先出现,且只有1个根节点(即parentld: 0).tree([  { id: 11, parentld: 0 },  { id: 44, parentld: 11 },  { id: 22, parentld: 11 },  { id: 33, parentld: 22 },  { id: 55, parentld: 11 },]// 期望返回id: 11,parentld: 0,children: [  { id: 22, parentld: 11, children: [    { id: 33, parentld: 22, children: [] },    ]  },  { id: 44, parentld: 11, children: [] },  { id: 55, parentld: 11, children: []},]```4. 浏览器输入 URL 发生了什么,尽可能详细5. 说一说回流和重绘,如何在这方面优化6. TLS 如何确保安全的7. 浏览器存储数据的方式8. 浏览器垃圾回收9. 用过哪些打包工具,Wepack 和 Vite 的区别10. Ajax 了解吗(不了解(ಥ_ಥ))11. 对模块化的理解,有哪些规范12. window.history 是做啥的13. 状态码14. OJ 重构项目    1. 你负责哪部分    2. C 端项目重构过程如何确保系统稳定,如何做好系统保障,如防止用户流失    3. 有遇到那些难点15. 了解大模型吗,常用哪些大模型,有用过编译型 AI 吗(cursor、trae)16. 反问:业务是做什么的?做短视频相关,框架用的 React Native面试官长得好帅,看起来还很仁慈善良,可恶,不去也罢(肯定不是嫉妒他,肯定不是)
点赞 评论 收藏
分享
05-18 07:43
已编辑
东华大学 前端工程师
一面(2025/02/13)1. 自我介绍2. 你如何学习前端的3. 为什么没有继续深入大数据相关行业4. 项目介绍    1. 项目功能    2. 如何处理学生考试时提交结果的高并发的问题    3. 为何选择 Pinia 而不是更加主流的 Vuex,出于什么考虑    4. 项目打包过程,产物是什么样的,浏览器能运行什么文件,能运行 ts 文件吗,为什么只有一个 index.html 却能显示不同页面,Vue 中的 template 代码是如何在浏览器中被看到的(这里一开始没有回答上来,所以在引导我)(单页应用 SPA)5. 工程化    1. Vite 打包过程    2. Webpack 与 Vite 的区别    3. Webpack 中的 loader 是做什么的    4. es6 转 es5 是怎么实现的,听说过 Babel 吗    5. npm、pnpm、yarn 的区别,lock 文件是做什么的6. Vue    1. 组合式 API 与选项式 API    2. Vue3 与 Vue2 的区别    3. 组件通信方式7. CSS    1. 有哪些布局,讲一讲 Flex 布局,常用属性    2. 定位方式    3. 选择器优先级,important 的优先级是多少8. JS    1. 实现异步的方式(回调、Promise、async/await)    2. Promise 的 API,Promise 的参数是什么    3. 事件循环,JS 引擎为什么是单线程    4. 浏览器缓存(强缓存、协商缓存)9. Git    1. 常用命令    2. rebase 与 merge 的区别10. Linux 常用命令11. 数据结构与算法    1. 数组和链表    2. 有哪些排序算法,冒泡排序与快速排序的时间复杂度    3. 图的表示方式    4. DFS 和 BFS,层序遍历属于哪个12. 反问:什么是大前端如何学习前端的回答没有让面试官满意;项目细节不太了解,没有去尝试理解更深层次的部分;对前端打包细节了解不多;基础知识仍然需要再完善提高。美团的面试官让我对面试有了新的认知,跟京东的面试体验差距好大。二面(2025/02/20)1. 面试官自我介绍,自我介绍2. 能实习多久,什么时候能来3. 你熟悉的技术栈4. 盒模型5. 居中方式6. 事件循环7. 防抖和节流8. HTTP 状态码9. OSI 七层模型10. UDP 和 TCP,TCP 为什么更可靠11. GET 和 POST,POST 为啥要两次请求12. JS 与 TS 的区别13. TS 类型14. v-model 原理15. computed 和 watch 的区别与使用场景16. nextTick 使用场景和实现17. 事件总线18. 项目相关    1. 介绍 OJ 重构项目、人员规模、开发周期、你负责的内容    2. 为什么要重构    3. 重构时如何保证系统功能稳定性    4. 为什么选择 Pinia 而不是 Vuex    5. 组件库的选择考量    6. 介绍大模型对话组件,背景、出发点、开发周期    7. 流式传输协议怎么实现的    8. 虚拟滚动技术怎么实现的,开始与结束的索引怎么计算的19. 算法:最长递增子序列隔了一周挂了,有些没答上来,有些说的不够广不够深,算法看错题了(ಥ_ಥ)
点赞 评论 收藏
分享
05-26 16:18
门头沟学院 Java
从4月1号的第一次面试到5月13号的滴滴二面,暑期实习也是终于画上句号了。从3月初就开始投 ,投了几十个公司,有笔试有面试的一共有20多个公司。timeline大概如下:3.8      米哈游笔试挂3.16    快手简历挂3.27    蚂蚁笔试后挂3.28    饿了么笔试后挂4.1      美团一面挂4.2      京东一面过4.7      京东二面挂,15分钟结束,kpi4.9      美团捞了一次,可惜没撕出来,又挂4.23    腾讯wxg一面秒挂,太菜了5.7      华为技术面和hr面通过,泡池子中5.8      滴滴一面5.13    滴滴二面5.23    滴滴口头oc5.26    滴滴offer滴滴一面面经1.介绍一下你的项目2.介绍一下短信登录具体是怎么优化的,redis的key和value都是什么3.在更新策略中,为什么采用先操作数据库再删除缓存的策略,为什么不用先删除缓存再操作数据库的策略?先操作数据库再删除缓存的策略是否有问题,应该如何解决?4.如何在不用reentrantlock锁的情况下,用redis分布式锁实现可重入锁?key和value都是什么?5.在优惠券的一人一单模块中,key和value都是什么6.项目中是如何用乐观锁解决缓存超卖的?考虑一个场景,如果一个商户要从供货商进货,还要进行售货,详细说一下用乐观锁的流程?7.现在有一个100层的楼,现在如果想用两个球测试,球从哪一层开始扔会碎,在这一层以上扔的话,球都会碎,在这层往下扔,球不会碎。请问最少需要扔多少次?8.手撕题:打印金字塔9.手撕题:数组中的第k个最大值元素滴滴二面总结1.在项目中,GEO具体是怎么使用的?商户和商户之间计算距离的具体算法是什么?如果多个人都进行附近商户查询时,会不会出现性能问题?2.feed流的推模式和拉模式?一般情况下,拉模式用的比较多,为什么你采用推模式呢?是否注意过朋友圈和微博消息推送时,技术实现的区别?3.在java集合中,有哪些线程安全的集合?你提到了threadlocal,threadlocal具体是做什么的,原理?有哪些问题?你提到了内存泄漏,内存泄漏有时只是几个变量的大小,不会造成多大空间的泄露,还有其他的问题吗?4.JVM的内存模型?5.mysql的事务的隔离级别?6.MySQL的索引有哪些?说一下B树和B+树的原理?B+树在插入节点时,会出现哪些树形结构的变化?7.线程池的参数有哪些?你在项目中是否用到了线程池?在真正使用中,如何选取线程池的参数?如果在一个I/O密集型系统中,如果让核心线程数直接等于CPU核数x2是否不合适,考虑一个场景:如果一个系统需要qps=10000,系统的请求处理时间为100ms,那么核心线程数该怎么设置?8.手撕:在100000个数据中,找到最大的10个数据,topk问题。中间也自闭焦虑过,最后感谢滴滴收留了我,大桔大利。
查看17道真题和解析
点赞 评论 收藏
分享
评论
18
68
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务