数字马力 后端 AI面

有15秒的思考时间,总共9个问题

  1. 自我介绍 只需要 实习 奖项 论文
  2. final 关键字的作用
  3. LEFT JOIN RIGHT JOIN INNER JOIN 是什么
  4. 预约系统设计 时间段管理 如何处理预约冲突 追问如何处理跨越多个时区的情况
  5. 和团队成员发生分歧,如何达成意见一致,使用了哪些沟通方式
  6. 参加过的最大活动 如何保证成功 采取哪些措施
  7. 独立组织的活动,实施的过程, 如何保证顺利执行
  8. 最近在学习的新技术是什么, 动机是什么。对个人起到了哪些作用
  9. 最近完成的看似不可能的任务是什么,什么原因致使你坚持到最后?
#数字马力#
全部评论
佬是几号的笔试
点赞 回复 分享
发布于 10-12 17:59 湖南

相关推荐

这真的是我体验感最好的一次面试,上次体验感这么好,还是在面cvte实习的时候,面试官是个女生,提前五分钟到的,我当时还在卖弄风姿,吓我一大跳,然后面试官就和我解释了一下她不开摄像头是因为不方便,然后就开始面试啦!从自我介绍开始,气氛真的和朋友聊天一样,我说几句,她就会嗯嗯回复我,真的很用心,有些问题我想的时候,她就会说没关系,慢慢想不着急,问我实习期间成就感最大的事是什么的时候,我说我先分享几个小的给你,我分享完了之后,她说,你不是说先给我分享几个小的吗,还有什么要分享的呀,家人们谁懂啊,前天经历了上一个公司的hr面,真的让我怀疑人生,彻夜难眠,此时我就好像被治愈了一样,面试通不通过都不重要了...
一笑而过2222:一、百度页面测试 1. 功能测试: - 除了确保基本的链接、搜索框和按钮功能正常,还可以测试搜索框的自动提示功能、搜索结果的分页功能、高级搜索选项等。 - 对搜索结果的准确性进行深入测试,可以选择一些特定领域的关键词,检查结果是否与预期相符。 - 测试百度的其他功能模块,如百度地图、百度百科、百度学术等的入口链接和功能完整性。 2. 兼容性测试: - 不仅要在不同的主流浏览器和操作系统上测试,还可以考虑在不同版本的浏览器上进行测试,以确保兼容性。 - 测试在移动设备上的兼容性,包括不同尺寸的手机和平板,以及不同的移动操作系统。 3. 响应式设计测试: - 检查页面在不同分辨率下的布局变化是否合理,文字和图片是否显示清晰,功能是否正常。 - 测试在不同设备方向(如横屏和竖屏)下的显示效果。 4. 性能测试: - 除了评估页面加载速度,还可以测试搜索结果的返回速度,以及在高并发情况下的性能表现。 - 使用性能测试工具模拟大量用户同时访问百度页面,检查系统的响应时间和资源利用率。 5. 安全性测试: - 除了检查常见的 XSS、CSRF 漏洞,还可以进行 SQL 注入测试、权限管理测试等,确保用户数据的安全。 - 测试百度的账号登录和注册功能的安全性,防止密码泄露和账号被盗。 6. 用户体验测试: - 进行用户行为分析,了解用户在使用百度页面时的常见操作路径和痛点,针对性地进行优化。 - 测试页面的易用性,包括导航的清晰性、搜索框的易用性、结果的展示方式等。 - 进行 A/B 测试,比较不同的页面设计和功能方案,选择用户体验更好的方案。 二、IOC(控制反转)和 AOP(面向切面编程)原理 1. IOC(控制反转): - 优势:通过将对象的创建和管理交给容器,实现了代码的解耦,提高了代码的可维护性和可扩展性。开发人员只需要关注业务逻辑的实现,而不需要关心对象的创建和依赖关系的管理。 - 举例:在一个电商系统中,订单服务需要依赖用户服务和商品服务。如果没有 IOC,订单服务需要自己创建用户服务和商品服务的实例,这样会导致订单服务和用户服务、商品服务之间的耦合度很高。而有了 IOC,订单服务只需要声明对用户服务和商品服务的依赖,容器会自动创建用户服务和商品服务的实例,并注入到订单服务中。 2. AOP(面向切面编程): - 优势:将横切关注点(如日志、事务管理、安全检查等)从业务逻辑中分离出来,提高了代码的可维护性和可重用性。可以在不修改原有业务逻辑代码的情况下,动态地添加新的功能。 - 举例:在一个银行系统中,所有的转账操作都需要记录日志和进行事务管理。如果没有 AOP,每个转账方法都需要重复编写日志记录和事务管理的代码。而有了 AOP,可以将日志记录和事务管理定义为切面,在不修改转账方法代码的情况下,动态地将这些切面应用到转账方法上。 三、Spring Boot 常用注解及其作用 1. @SpringBootApplication: - 除了启动 Spring Boot 应用,还可以通过设置参数来定制应用的行为。例如,可以设置 scanBasePackages 参数来指定扫描的包路径,设置 exclude 参数来排除某些自动配置类。 2. @Controller和**@RestController**: - 可以结合 @RequestMapping 注解来实现更细粒度的请求映射。例如,可以使用 @RequestMapping("/api") 来定义一个 API 的根路径,然后在方法上使用 @RequestMapping("/users") 来定义具体的用户资源路径。 3. @RequestMapping: - 可以设置请求方法(如 method = RequestMethod.GET )、请求参数(如 params = "id=1" )、请求头(如 headers = "Content-Type=application/json" )等条件来进一步限定请求的匹配。 4. @Autowired: - 可以结合构造函数注入、 setter 方法注入等方式来实现更灵活的依赖注入。例如,可以在构造函数上使用 @Autowired 注解来实现构造函数注入,这样可以保证依赖的对象在对象创建时就被注入,提高代码的可靠性。 5. @Service、@Repository和**@Configuration**: - 可以结合 @Profile 注解来实现多环境配置。例如,可以定义一个开发环境的配置类和一个生产环境的配置类,然后在不同的环境下激活相应的配置类。 6. @Value: - 可以从环境变量、系统属性、配置文件等多个来源获取属性值。例如,可以使用 @Value("${my.property}") 来获取配置文件中的属性值,也可以使用 @Value("${ENV_VAR_NAME}") 来获取环境变量的值。 7. @EnableAspectJ***: - 可以设置 proxyTargetClass 参数来指定使用 CGLIB 代理还是 JDK 动态代理。如果代理的目标类没有实现接口,需要设置 proxyTargetClass = true 来使用 CGLIB 代理。 四、Spring Boot 的优点 1. 简化配置: - Spring Boot 的自动配置不仅减少了 XML 配置,还可以通过属性文件和 YAML 文件来进行配置,使得配置更加灵活和易于管理。 - 可以使用 @ConfigurationProperties 注解来将配置文件中的属性绑定到 Java 对象上,方便在代码中使用配置值。 2. 快速开发: - 除了提供开箱即用的功能,Spring Boot 还支持快速启动和热部署,可以大大提高开发效率。 - 可以使用 Spring Boot 的开发者工具(Spring Boot DevTools)来实现自动重启和实时加载,无需手动重启服务器。 3. 微服务友好: - Spring Boot 可以轻松地构建独立的、可部署的微服务,并且支持服务注册与发现、负载均衡、断路器等微服务架构所需的功能。 - 可以结合 Spring Cloud 等框架来构建完整的微服务架构,实现微服务的治理和管理。 4. 社区活跃: - Spring Boot 拥有庞大的社区支持,有大量的开发者和贡献者,这意味着可以很容易地找到问题的解决方案和学习资源。 - 社区不断地推出新的功能和改进,使得 Spring Boot 始终保持着先进性和活力。 5. 模块化设计: - Spring Boot 的模块化设计使得可以根据项目的需求选择引入相应的模块,避免了不必要的依赖和复杂性。 - 可以使用 Spring Boot 的 Starter 依赖来快速引入特定的功能模块,如 spring-boot-starter-web 用于构建 Web 应用, spring-boot-starter-data-jpa 用于数据库访问等。 6. 易于测试: - Spring Boot 提供了多种测试工具和注解,如 @SpringBootTest 、 @MockBean 、 @WebMvcTest 等,可以方便地进行单元测试、集成测试和端到端测试。 - 可以结合测试框架如 JUnit、Mockito 等进行更强大的测试,提高代码的质量和可靠性。
点赞 评论 收藏
分享
1 7 评论
分享
牛客网
牛客企业服务