数字马力 测开 测试开发 长沙 二面

10.23号二面,流程大概30多分钟。全程疯狂拷打我项目

1. 自我介绍。
2. 介绍一下项目,说说为什么要写这个项目,采用了哪些技术架构?
3. 说说项目的难点,选择一个介绍一下这个难点的基本流程,为什么要这么设计?
4. 你说你用到了线程池,为什么使用线程池?与不使用相比有多少优化?
5. 说说多线程下的线程安全问题?
6. 你这个模块的性能瓶颈在哪里?
7. 针对于性能瓶颈,你做出了哪些优化?
8. 你觉得还能有什么优化的地方?
9. 你说你使用到了分库分表,自定义的分片算法,为什么要自定义?使用默认的会有什么问题?
10. char和varchar的区别?char(10)表示什么意思?一个字符等于一个字节吗?
11. 系统的具体性能你有进行测试过吗?重要模块分别有多少的吞吐量?响应时间大概是多少?
12. 对于XX功能,你怎么进行设计测试用例?
13. 说说SpringBoot中的常用注解?
14. 你提到了AOP相关的注解,说说AOP在你项目中是怎么使用的?除了日志记录,AOP还有其他的什么作用?
15. 你觉得你有什么优点和缺点?
16. 反问?

#数字马力长沙# #数字马力# #数字马力测开#
全部评论
校友,咋样,开奖了吗😋
点赞 回复 分享
发布于 2024-11-11 21:20 黑龙江
请问佬现在收到意向了吗
点赞 回复 分享
发布于 2024-11-08 02:17 陕西
1. 为什么使用线程池 - 资源管理:线程的创建和销毁是有成本的。每次创建一个新线程,都需要分配系统资源,如内存空间用于线程栈等。当线程结束后,这些资源需要回收。使用线程池可以预先创建一定数量的线程,这些线程可以被重复利用,避免了频繁创建和销毁线程带来的资源开销。 - 提高响应速度:对于频繁需要多线程处理的任务,如果不使用线程池,每次都要创建新线程,这会有一定的延迟。而线程池中的线程已经创建好,当有任务到来时,可以立即执行任务,从而提高系统的响应速度。 - 控制并发数量:线程池可以限制同时执行的线程数量,防止因为创建过多线程导致系统资源耗尽。例如,如果有大量并发任务,如果不加以控制,可能会创建大量线程,使系统内存占用过高,甚至出现“Out of Memory”错误。通过线程池可以合理设置最大线程数,保证系统的稳定性。 2. 与不使用相比的优化 - 性能提升:在高并发场景下,不使用线程池频繁创建和销毁线程会消耗大量时间和资源。假设创建一个线程需要10毫秒,销毁一个线程需要5毫秒,对于100个任务,每个任务都创建和销毁线程,总共花费在创建和销毁线程上的时间为       毫秒。而使用线程池,假设预先创建了10个线程,这些线程可以复用,这部分时间开销就可以节省下来,任务可以更快地得到处理。 - 资源利用优化:不使用线程池可能会因为大量线程同时运行而导致系统资源紧张。例如,每个线程可能需要1MB的栈空间,大量创建线程可能会耗尽内存。线程池通过合理配置线程数量,能够更好地利用系统资源,避免资源浪费。在一个应用中,如果不使用线程池,可能会因为线程过多导致系统卡顿,而使用线程池可以让系统在合理的资源消耗下高效运行。
点赞 回复 分享
发布于 2024-10-24 10:56 广东
13. Spring Boot 中的常用注解: -  @SpringBootApplication :这是一个组合注解,用于标记一个主 Spring Boot 应用类。它包含了 @Configuration (表明这是一个配置类)、 @EnableAutoConfiguration (开启自动配置)和 @ComponentScan (组件扫描)。 -  @RestController :用于标注一个控制器类,该类中的方法默认返回的是 JSON 格式的数据响应。 -  @RequestMapping :用于映射请求的 URL 到特定的处理方法。可以在类级别和方法级别使用。 -  @GetMapping 、 @PostMapping 、 @PutMapping 、 @DeleteMapping :分别对应 HTTP 的 GET、POST、PUT、DELETE 请求方法的映射。 -  @Autowired :自动装配依赖,将一个 Bean 注入到另一个 Bean 中。 -  @Service :标注一个服务层的类,表示该类是一个业务逻辑组件。 -  @Repository :标注一个数据访问层的类,表示该类是一个数据存储相关的组件,如数据库访问层。 -  @Component :通用的组件标注,可以用于标注任何 Spring 组件。 -  @Value :用于将外部配置的值注入到 Bean 中。 -  @ConfigurationProperties :将一组配置属性绑定到一个 Bean 上。 - AOP 在项目中的使用: - 在项目中,可以使用 AOP 实现日志记录。例如,通过定义一个切面,使用 @Pointcut 指定要拦截的方法,然后在 @Before 、 @AfterReturning 等通知中实现日志记录逻辑。比如在方法执行前记录请求参数,方法执行后记录响应结果和执行时间等。 - AOP 的其他作用: - 事务管理:可以使用 AOP 在方法级别上管理事务。通过定义一个事务切面,在需要事务的方法上添加特定的注解(如 @Transactional ),AOP 会在方法执行前开启事务,在方法正常执行完成后提交事务,若方法执行过程中出现异常则回滚事务。 - 安全控制:可以实现权限验证、身份认证等安全功能。例如,在方法执行前检查用户是否具有执行该方法的权限。 - 性能监控:可以记录方法的执行时间,统计系统的性能指标,以便进行性能优化。 - 优点: - 快速学习能力:能够迅速掌握新的技术和知识,适应不同的项目需求。例如,在接触新的编程语言或框架时,通过阅读文档、参考示例代码和实践操作,能在较短时间内理解其核心概念和使用方法,并应用到实际项目中。 - 良好的问题解决能力:在面对复杂的问题时,能够冷静分析,通过查阅资料、尝试不同的解决方案,最终找到有效的解决办法。比如在调试代码时,会逐步排查问题,从错误信息、日志记录等方面入手,定位问题所在并进行修复。 - 团队合作精神:善于与团队成员沟通协作,能够倾听他人的意见和建议,共同完成项目任务。在团队中,积极分享自己的知识和经验,帮助其他成员解决问题,同时也从他人那里学习新的技能和思路。 - 缺点: - 有时候过于追求完美:在某些情况下,可能会花费过多的时间在细节上,导致项目进度受到一定影响。例如,在编写代码时,可能会不断优化代码结构和性能,而忽略了时间成本。 - 压力下可能会焦虑:在面临高强度的工作压力和紧迫的项目期限时,可能会感到焦虑。这种焦虑可能会影响工作效率和决策能力。不过,正在努力通过学习放松技巧和时间管理方法来改善这一问题。
点赞 回复 分享
发布于 2024-10-24 10:06 广东
是校招吗,怎么问这么难啊
点赞 回复 分享
发布于 2024-10-23 21:46 河南

相关推荐

辅助位:定时器项目都被用烂了,感觉
点赞 评论 收藏
分享
真tmd的恶心,1.面试开始先说我讲简历讲得不好,要怎样讲怎样讲,先讲背景,再讲技术,然后再讲提升多少多少,一顿说教。2.接着讲项目,我先把背景讲完,开始讲重点,面试官立即打断说讲一下重点,无语。3.接着聊到了项目的对比学习的正样本采样,说我正样本采样是错的,我解释了十几分钟,还是说我错的,我在上一家实习用这个方法能work,并经过市场的检验,并且是顶会论文的复现,再怎么不对也不可能是错的。4.面试官,说都没说面试结束就退出会议,把面试者晾在会议里面,丝毫不尊重面试者难受的点:1.一开始是讲得不好是欣然接受的,毕竟是学习。2.我按照面试官的要求,先讲背景,再讲技术。当我讲完背景再讲技术的时候(甚至已经开始蹦出了几个技术名词),凭什么打断我说讲重点,是不能听出人家重点开始了?这也能理解,每个人都有犯错,我也没放心上。3.我自己做过的项目,我了解得肯定比他多,他这样贬低我做过的项目,说我的工作是错误的,作为一个技术人员,我是完全不能接受的,因此我就和他解释,但无论怎么解释都说我错。凭什么,作为面试官自己不了解相关技术,别人用这个方式work,凭什么还认为这个方法是错的,不接受面试者的解释。4.这个无可厚非,作为面试官,不打招呼就退出会议,把面试者晾着,本身就是有问题。综上所述,我现在不觉得第一第二点也是我的问题,面试官有很大的问题,就是专门恶心人的,总结面试官说教,不尊重面试者,打击面试者,不接受好的面试者,技术一般的守旧固执分子。有这种人部门有这种人怎么发展啊。最后去查了一下,岗位关闭了。也有可能是招到人了来恶心人的,但是也很cs
牛客20646354...:招黑奴啊,算法工程师一天200?
点赞 评论 收藏
分享
评论
2
12
分享

创作者周榜

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