阿里国际一面

时间线
4-1 投递    4-21 笔试    4-25 一面

面经
1.使用maven的时候包冲突什么表现,怎么解决
2.写maven配置文件有用 dependencyManagement
3.java异常处理怎么处理
4.throws和throw的区别
5.异常处理代码块return写哪里
6.catch里面写return finally代码块会执行吗
7.RuntimeException 和非RuntimeException 有什么区别,分别举个例子
8.new了一个对象会在堆内存的哪个区域
9.new的对象很大的话
10.gc的分类有哪几种
11.spring boot的aop用的spring boot 的aop还是aspectj的有什么区别
12.redis一般会出现哪几种异常,怎么防止
13.数据淘汰策略举几个例子
14.redis使用的时候突然断电了,数据会丢失吗
15.MySQL里面对一个表做左连接,左表5条数据,右表3条数据,连接结果有几条数据
16.sql语句里面去重有什么语句
17.从输入URL到页面展示发生了什么
18.https连接端口号多少
19.消息队列了解的多吗
20.用mq处理消息的时候怎么保证事务的一致性(答的分布式事务)
21.问了问跟着老师做的项目,需求分析和实际编码的时间占比是几比几
22.cache用的什么
23.redis数据和db数据的一致性,可能出现的问题和对应的解决方案
24.金融这种强一致性的方案讲讲
25.ai有做什么学习和了解
26.大致讲讲rag的原理
27.微调和rag的优劣势分别是什么
28.agent有了解吗
问问未来方向,学校的活动经历,兴趣爱好,在学校里面敬佩的人
全部评论
ez
点赞 回复 分享
发布于 04-28 19:41 湖北

相关推荐

总结:面了一个小时,一道手撕,几个八股,几道业务,还有场景行测题。手撕环节1.实现rm -rf path命令。已知3个方法 1.file.isFile()判断是否是文件 2.file.delete()删除文件或目录 3.listFiles()返回这个目录下的所有文件或目录import java.io.File;import java.util.List;public class FileDeleter {// 方法1: 判断是否是文件public boolean isFile(String path) {return new File(path).isFile();}// 方法2: 删除文件或目录public void delete(String path) {File file = new File(path);if (file.isDirectory()) {// 如果是目录,递归删除其内容deleteDirectory(file);} else {// 如果是文件,直接删除file.delete();}}// 方法3: 返回目录下的所有文件和目录public List<String> listFiles(String path) {File directory = new File(path);File[] files = directory.listFiles();return Arrays.stream(files).map(File::getAbsolutePath).collect(Collectors.toList());}// 实现rm -rf功能public void rmrf(String path) {if (isFile(path)) {// 如果是文件,直接删除delete(path);} else {// 如果是目录,递归删除deleteDirectory(new File(path));}}// 递归删除目录及其内容private void deleteDirectory(File directory) {// 获取目录下所有文件和子目录File[] files = directory.listFiles();if (files != null) {for (File file : files) {if (file.isDirectory()) {// 递归删除子目录deleteDirectory(file);} else {// 删除文件file.delete();}}}// 删除空目录directory.delete();}}2.追问:针对这个功能,请设计测试用例1.判断命令行是否为空2.判断关键字是否正确3.判断path是否为空4.判断path是否合法(无效,超过长度)5.判断path是绝对路径还是相对路径6.判断是否具有删除权限7.判断删除的是文件还是路径8.判断删除的文件类型(二进制,普通)场景题1.找出一个10w个元素的数组中,最大的1000个数使用最小堆,只保留最大的1000个数(原来思路是对整个数组排序,排成最大堆,这样的方案空间占用很多)2.请你列出支付宝的转账功能的测试点(系统层级)八股部分1.SpringBoot的注解1.1.启动类注解●@SpringBootApplication 组合注解,包含以下三个注解:●@SpringBootConfiguration:标记为配置类●@EnableAutoConfiguration:启用自动配置(扫描META-INF 的spring.factories,如果有对应的组件,就加载对应的Bean文件)●@ComponentScan:组件扫描1.2.条件注解●@ConditionalOnClass 当类路径下有指定类时生效●@ConditionalOnMissingBean 当容器中没有指定Bean时生效●@ConditionalOnProperty 当配置属性满足条件时生效2.Spring如何管理依赖?Spring Boot 通过其独特的依赖管理机制,极大地简化了项目依赖配置,解决了传统Spring项目中常见的依赖冲突和版本管理问题。父项目继承(spring-boot-starter-parent)Spring Boot 提供了starter-parent作为推荐的基础父POM:<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.0</version> <!-- 使用最新版本 --></parent>优势 :●自动管理依赖版本(无需指定版本号)●默认的Maven配置(资源过滤、插件配置等)●合理的默认配置(Java版本、编码等)3.SpringBoot依赖注入如何使用@Autowired,@Resource,@Injected4.三种注入的方式了解吗常用方式:a. 构造器注入(Constructor Injection) - 官方推荐: 通过类的构造方法注入依赖项。i.优点:依赖项不可变(final),确保在使用对象之前所有依赖都已准备好,完全初始化后的对象是线程安全的(如果依赖项也是线程安全的),强制要求依赖项,便于测试(测试时可以直接传入mock对象)。b. Setter注入(Setter Injection): 通过类的setter方法注入依赖项。i.优点:可选依赖项(可以没有Setter调用,依赖可能为null),允许在对象创建后重新配置依赖(但通常不建议)。c. 字段注入(Field Injection) - 尽量避免: 直接在字段上使用@Autowired注解。i. 虽然使用简单,但通常不推荐,原因:破坏了封装性(字段变成public或通过反射可访问),难测试(需要反射或启动完整Spring上下文才能设置依赖),可能使类的依赖关系不明确(没有构造器或setter明确声明依赖),不利于声明final字段。5.Spring如何管理事务?使用AOP,使用try catchtry:开始事务执行方法提交事务catch:回滚事务项目提问1.你的项目输入输出是什么?2.有应用场景嘛?3.有应用大模型吗?4.除了实验室课题,你还做过什么项目?5.这两个学校项目占用了你多少时间?课余时间一般在做什么?(觉得我没有额外学习编程呜呜行测部分1.你遇到问题会怎么解决?2.假如领导交给你一个不能实现,或者你觉得没必要实现的任务,你会怎么做?3.你人生中最大的困难是什么?4.你选择测试开发岗位的原因是什么?对未来的职业规划是什么?反问环节1.是否可以了解一下目前测试业务范围?测试业务范围主要是负责饿了么APP点外卖、淘宝闪购以及用户能看到的所有页面和用户使用场景的测试工作。2.对于实习生来说,可能会负责哪些工作内容?实习生负责的工作内容取决于所在部门,可能涉及客户端测试或底层算法层的测试,具体要求根据实习生的分配部门和能力所在进行安排。3.平时的工作节奏是怎样的?正常上班时间为早上九点半,下班时间为下午六点半,但实际工作时间可以根据项目进度自行调整,周末通常为双休日。工作中会有临时高强度的情况,但并非常态。4.工作地点是上海吗?上海和杭州都有,建议实习地点和工作地点一致。
查看18道真题和解析
点赞 评论 收藏
分享
手撕:合并n个链表你用了优先队列(Priority Queue),这种做法本质上属于哪类排序?该算法的时间复杂度和空间复杂度各是多少?除了优先队列+虚拟节点方案,你有没有想到其他更优解?对“基本有序”数组,哪种排序最优?为什么?请讲解快速排序的核心思想与流程。如何快速从无序数组中找出第K大的元素?(如第3大、第10000大等)最优解可否用堆?可否用快速选择(Quickselect)?用3–5分钟重点介绍一个你参与度高、技术含量突出的项目。你了解哪些开源RPC框架?请详细讲一下阿里Dubbo的注册/发现机制、核心功能及优缺点。令牌桶限流原理是什么?关键点在哪里?你还知道哪些限流策略(固定窗口、滑动窗口、漏桶等),它们各自优缺点是什么?你对Spring源码做过哪些研读?关注了哪些模块?在Spring MVC中,IOC容器的两个最核心职责是什么?能否详细讲解Spring容器的启动、类加载、Bean定义解析、依赖注入全过程?JVM类加载双亲委派流程是怎样的?如何打破它?请描述Java内存区域:堆、栈、方法区(永久代/元空间)、本地方法栈等。哪些区域可能抛出OutOfMemoryError?为什么Java 8将永久代改为元空间?它们在内存上的区别与优劣?为什么要把String设计为不可变?StringBuilder与StringBuffer有何区别?反射的优点和缺点有哪些?你是明年6月毕业吗?毕业后有考研打算吗?还是直接找实习/全职?实习时长打算多久?毕设时间安排如何?反问:技术团队主要负责哪些业务场景?部门日常开发中会用到哪些主流中间件或框架?对于本科生而言,哪些基础知识和能力比较重要?如果想深入某个方向,应当如何规划学习?
查看29道真题和解析
点赞 评论 收藏
分享
评论
8
23
分享

创作者周榜

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