二本开发呢
1 1

相关推荐

1. 自我介绍(1min)2. 项目经历3. 为什么想做测开呢?4. 对软件测试的理解?5. 工作过程中给一个需求,从流程给到你一直到需求上线的一套规范流程是什么?6. 从事软件测试行业之前做什么准备和学习?7. 从模型的角度分析去分析流程包括那些阶段?8. 在整个开发设计编码阶段,作为测试人员,都需要做些什么?9. 开发在完成整个代码编写以后,进行提测的时候,提测通过的标准是什么?10. 项目遇到了什么困难,怎么解决的?11. 测试用例: 发红包需求,从哪些点进行测试?(面试官补充: 从功能角度, 兼容性角度, UI识别交互角度; 异常会有哪些角度, 资金的角度等等)12. 有没有什么其他的渠道来进行了解或学习测试这方面的知识的?13. 对于本岗位具体的能力上要提升哪些?14. 有其他人使用过你的系统吗?15. 反问: 测试开发部分必须掌握的知识面试官回答很详细,很全面: 专业必备的基础知识, 有一定的质量保证的思路,比如什么是测试左移, 风险管控的手段, 开发测试提效的工具有哪些, 清楚背后的原理, 有开发经验, 有一定的测试分析的能力, 沟通能力, 有学习规划的认知, 实践能力, 数据库相关的能力, 缺陷相关的知识, 包括用例设计, 接口测试, 测试用例怎么写, 测试报告需要包含哪些, 测试计划需要包含哪些, 16. 缺陷需要包含哪些内容?#数字马力面经##坚持写面经##数字马力#
点赞 评论 收藏
分享
这真的是我体验感最好的一次面试,上次体验感这么好,还是在面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 等进行更强大的测试,提高代码的质量和可靠性。
点赞 评论 收藏
分享
一笑而过2222:1. **你知道的数据结构有哪些?** - 常见的数据结构包括数组、链表、栈、队列、树(如二叉树、B树、B+树)、图等。 2. **队列和栈的区别?** - 队列是一种先进先出(FIFO)的数据结构,即最先加入的元素最先被移除;栈是一种后进先出(LIFO)的数据结构,即最后加入的元素最先被移除。 3. **常用的排序算法?** - 常用的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。 4. **快排和堆排序区别?** - 快速排序通常比堆排序更快,因为它具有更好的平均性能(O(n log n)),但它是不稳定的;堆排序也是 O(n log n),但它主要用于保持堆的性质,并且是不稳定的排序算法。 5. **怎么判断 string 相等?** - 在 Java 中,可以使用 `String.equals()` 方法来判断两个字符串的内容是否相同。 6. **== 和 equals 区别?** - `==` 用于比较基本类型的值或引用类型的引用是否指向同一个对象;`equals` 方法则用于比较两个对象的内容是否相等。 7. **MySQL 索引有哪些?** - MySQL 支持多种索引类型,包括 B+树索引、哈希索引、全文索引等。 8. **索引数据结构,用过哪些?** - 最常使用的索引数据结构是 B+树索引,此外还有哈希索引,用于加速数据检索。 9. **树有哪些类型,B+树和红黑树的区别?** - 树有很多类型,比如二叉树、B树、B+树、红黑树等。B+树非常适合于磁盘存储系统中的范围查询,因为所有数据都存储在叶子节点上;红黑树是一种自平衡的二叉查找树,适合于内存中的数据存储。 10. **两种网络模型?** - 有两种主要的网络参考模型:OSI 七层模型和 TCP/IP 四层模型。 11. **应用层和表示层区别?** - 应用层是 OSI 模型中最顶层,它为应用程序提供网络服务;表示层处理数据的格式化、加密解密等,确保发送的数据被接收端正确解释。 12. **垃圾回收机制?** - 垃圾回收机制是一种自动内存管理机制,用于自动回收不再使用的对象所占用的内存。 13. **高并发情况了解吗,怎么解决?** - 在高并发场景中,可以采用多种解决方案,例如使用缓存减少数据库访问次数、利用负载均衡器分散请求到不同的服务器、使用消息队列来异步处理请求等。 14. **Redis 基本数据结构?** - Redis 支持五种主要的数据结构:字符串(String)、列表(List)、集合(Set)、哈希(Hash)和有序集合(Sorted Set)。 15. **List 和 Set 区别?** - List 是有序的集合,可以包含重复元素;Set 是无序的集合,不能包含重复元素。 16. **Redis 里 String 和 Hash 查询速度有什么不同?** - 在 Redis 中,哈希(Hash)类型可以更快地访问其内部的字段,因为它将键值对存储在一个特殊的哈希表中,这样就可以更快地定位到特定的字段;而字符串(String)则更加简单直接,适用于简单的键值存储。 17. **测试用例方法有哪些?** - 测试用例的设计方法包括但不限于等价类划分法、边界值分析法、因果图法等。
点赞 评论 收藏
分享
牛客网
牛客企业服务