Java常见面试题

文章目录

    • 一、Java基础面试题
    • 二、面向对象编程面试题
    • 三、集合框架面试题
    • 四、多线程面试题
    • 五、数据库面试题
    • 六、异常处理面试题
    • 七、设计模式面试题
    • 八、Spring相关面试题
    • 九、性能优化面试题
    • 十、Java 8新特性面试题
    • 十一、JVM相关面试题
    • 十二、框架相关面试题
    • 十三、并发编程面试题
    • 十四、网络编程面试题
    • 十五、设计模式面试题
    • 十六、算法与数据结构面试题
    • 十七、数据库面试题
    • 十八、Web开发面试题
    • 十九、Java IO面试题
    • 二十、Spring Boot面试题
    • 二十一、Spring Cloud面试题
    • 二十二、Java内存管理与性能优化面试题
    • 二十三、消息队列面试题
    • 二十四、容器化与微服务面试题
    • 二十五、大数据与分布式计算面试题
    • 二十六、安全与认证授权面试题
    • 二十七、分布式系统与微服务面试题
    • 二十八、Spring Security面试题
    • 二十九、Spring Data面试题
    • 三十、Java并发编程面试题
    • 三十一、Java网络编程面试题
    • 三十二、Java内存模型与多线程面试题
    • 三十三、Spring AOP面试题
    • 三十四、Java并发工具类面试题
    • 三十五、Java虚拟机调优面试题

一、Java基础面试题

  1. 说一下Java的基本数据类型及其默认值。

答:Java的基本数据类型有byte、short、int、long、float、double、char、boolean。它们的默认值分别为0、0、0、0L、0.0f、0.0、‘\u0000’、false。

  1. final、finally、finalize有什么区别?

答:final是一个修饰符,用于修饰变量、方法和类。final修饰的变量表示常量,一旦赋值后不可更改;final修饰的方法表示不可被子类重写;final修饰的类表示不可被继承。

finally是一个关键字,用于定义在try-catch块之后,无论是否发生异常,都会执行的代码块。

finalize是Object类的一个方法,用于垃圾回收器在销毁对象之前调用的方法,但不建议使用,因为不确定性和性能问题。

二、面向对象编程面试题

  1. 什么是面向对象编程(OOP)?有哪些特性?

答:面向对象编程是一种编程范式,它将数据和行为封装在对象中,通过对象之间的交互来实现功能。面向对象编程的特性包括封装、继承、多态和抽象。

  1. 什么是封装?如何实现封装?

答:封装是面向对象编程的一种核心概念,它是将数据和操作数据的方法封装在对象内部,对外部隐藏对象的具体实现细节,只暴露必要的接口给外部使用。实现封装可以通过使用private访问修饰符来限制成员变量的访问权限,再通过public的getter和setter方法来控制对成员变量的访问。

举例:

public class Person {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

三、集合框架面试题

  1. ArrayList和LinkedList有什么区别?什么时候使用它们?

答:ArrayList和LinkedList都是Java集合框架中的List接口的实现类。主要区别在于底层数据结构不同:ArrayList基于数组实现,LinkedList基于双向链表实现。

ArrayList适合随机访问和快速遍历,LinkedList适合频繁的插入和删除操作。

四、多线程面试题

  1. 什么是线程安全?如何保证线程安全?

答:线程安全是指在多线程环境下,多个线程同时访问共享资源时,保证资源不会出现数据异常或产生竞争条件。保证线程安全可以使用synchronized关键字对关键代码块或方法进行同步,也可以使用Lock接口的实现类进行同步。

五、数据库面试题

  1. 什么是数据库事务?简述事务的ACID特性。

答:数据库事务是一组对数据库操作的集合,这些操作要么全部成功执行,要么全部不执行。事务的ACID特性是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

举例:

Connection conn = null;
try {conn = dataSource.getConnection();conn.setAutoCommit(false); // 开启事务// 执行多个数据库操作conn.commit(); // 提交事务
} catch (SQLException e) {if (conn != null) {try {conn.rollback(); // 回滚事务} catch (SQLException ex) {ex.printStackTrace();}}
} finally {if (conn != null) {try {conn.setAutoCommit(true); // 恢复自动提交模式conn.close();} catch (SQLException e) {e.printStackTrace();}}
}

六、异常处理面试题

  1. Java中的异常分为哪两种?它们有什么区别?

答:Java中的异常分为编译时异常(Checked Exception)和运行时异常(Unchecked
Exception)。编译时异常需要在代码中进行处理或者声明抛出,否则无法通过编译;运行时异常则无需显式处理,可以在代码中捕获或者不处理。

  1. try-catch-finally块中,finally块的作用是什么?它在什么情况下会被执行?

答:finally块用于定义在try-catch块结束后无论是否发生异常都会执行的代码,通常用于资源的释放、清理或其他必须执行的操作。finally块在以下情况下都会被执行:try块正常执行结束、catch块捕获到异常并处理、catch块捕获到异常但未处理继续抛出。

七、设计模式面试题

  1. 什么是单例模式?如何实现单例模式?

答:单例模式是一种创建型设计模式,保证一个类只有一个实例,并提供一个全局访问点。可以通过私有构造方法和静态方法来实现单例模式。

public class Singleton {private static Singleton instance;private Singleton() {}public static synchronized Singleton getInstance() {if (instance == null) {instance = new Singleton();}return instance;}
}

八、Spring相关面试题

  1. 什么是IoC(控制反转)和DI(依赖注入)?

答:IoC是一种设计思想,它将对象的创建和对象之间的依赖关系的管理交给容器来完成。DI是IoC的一种实现方式,通过容器将对象的依赖关系注入到对象中。

  1. Spring框架中的AOP是什么?它解决了什么问题?

答:AOP(面向切面编程)是一种编程范式,它将应用程序的业务逻辑与系统级服务(如日志、事务、安全等)进行分离。AOP解决了横切关注点的代码重复问题,提高了代码的可维护性和复用性。

九、性能优化面试题

说一下Java中常见的性能优化手段。

答:常见的Java性能优化手段包括使用合适的数据结构、避免使用过多的循环和递归、减少对象创建和垃圾回收、使用缓存、多线程并发优化等。

十、Java 8新特性面试题

说一下Java 8中的Lambda表达式和函数式接口。

答:Lambda表达式是一种简洁的语法形式,用于替代匿名内部类的写法。函数式接口是只包含一个抽象方法的接口,Lambda表达式可以赋值给该接口的对象。

十一、JVM相关面试题

  1. 什么是Java虚拟机(JVM)?它的主要功能是什么?

答:Java虚拟机是Java的核心组成部分,它是一个在操作系统上运行Java字节码的虚拟计算机。JVM的主要功能包括加载字节码、执行字节码、内存管理和垃圾回收。

  1. Java中的垃圾回收是如何工作的?说一下常见的垃圾回收算法。

答:Java中的垃圾回收通过JVM自动管理,它会自动识别不再被引用的对象,并回收它们的内存。常见的垃圾回收算法有标记-清除算法、复制算法、标记-整理算法和分代收集算法。

十二、框架相关面试题

  1. 说一下Spring框架中的核心模块。

答:Spring框架的核心模块包括Spring Core(IoC和DI容器)、Spring Context(应用上下文)、Spring
AOP(面向切面编程)、Spring DAO(数据访问支持)、Spring JDBC(JDBC支持)等。

  1. 什么是MyBatis框架?它与Hibernate有什么区别?

答:MyBatis是一种持久层框架,它通过XML或注解配置SQL映射,将Java对象与数据库表进行映射。与Hibernate相比,MyBatis更加灵活,可以直接编写SQL语句,并对SQL进行优化;而Hibernate是一个全自动的ORM框架,更适合对象与关系数据库的映射。

十三、并发编程面试题

  1. 什么是线程安全?如何保证线程安全?

答:线程安全是指在多线程环境下,多个线程同时访问共享资源时,保证资源不会出现数据异常或产生竞争条件。保证线程安全可以使用synchronized关键字对关键代码块或方法进行同步,也可以使用Lock接口的实现类进行同步。

  1. Java中有哪些实现线程安全的集合类?

答:Java中提供了多个实现线程安全的集合类,例如ConcurrentHashMap、CopyOnWriteArrayList、CopyOnWriteArraySet等。

十四、网络编程面试题

什么是Socket?Java中如何使用Socket进行网络通信?

答:Socket是一种用于在网络上进行通信的机制,它提供了一套标准的网络通信接口。在Java中,可以使用Socket类和ServerSocket类实现网络通信,其中Socket类用于客户端,ServerSocket类用于服务端。

十五、设计模式面试题

  1. 什么是工厂模式?它有哪几种实现方式?

答:工厂模式是一种创建型设计模式,它提供了一种封装对象创建过程的方式,将对象的创建与使用分离。工厂模式有三种实现方式:简单工厂模式、工厂方法模式和抽象工厂模式。

  1. 什么是单例模式?如何实现线程安全的单例模式?

答:单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。线程安全的单例模式可以通过懒汉式、饿汉式、双重检查锁等方式实现。

十六、算法与数据结构面试题

  1. 什么是链表?它有哪几种常见的类型?

答:链表是一种线性数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。常见的链表类型有单向链表、双向链表和循环链表。

  1. 什么是二叉树?如何实现二叉树的遍历?

答:二叉树是一种树形数据结构,它的每个节点最多有两个子节点:左子节点和右子节点。二叉树的遍历有三种方式:前序遍历(根-左-右)、中序遍历(左-根-右)和后序遍历(左-右-根)。

十七、数据库面试题

  1. 什么是数据库事务?简述事务的ACID特性。

答:数据库事务是一组对数据库操作的集合,这些操作要么全部成功执行,要么全部不执行。事务的ACID特性是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

  1. 什么是数据库索引?它有什么作用?

答:数据库索引是一种提高查询效率的数据结构,它可以加快数据库中数据的检索速度。索引可以根据指定的字段快速定位到对应的记录,减少查询的时间复杂度。

十八、Web开发面试题

  1. 什么是Servlet?它在Web开发中的作用是什么?

答:Servlet是JavaWeb开发中的一个规范,用于处理Web请求和响应。它可以接收来自客户端的请求,并生成响应结果,通常用于处理动态网页、表单提交、登录认证等任务。

  1. 什么是Session和Cookie?它们有什么区别?

答:Session和Cookie都是Web开发中用于保存状态的机制。Session是服务器端的一种状态保持机制,用于在服务器端保存用户信息;Cookie是存储在客户端的一种状态保持机制,用于在客户端保存用户信息。

十九、Java IO面试题

什么是Java IO?Java IO有哪几种类型?

答:Java IO(Input/Output)是Java提供的输入输出机制,用于读写数据。Java IO有两种类型:字节流(Byte Stream)和字符流(Character Stream)。

什么是序列化和反序列化?如何实现Java对象的序列化?

答:序列化是将Java对象转换为字节序列,便于存储或传输;反序列化是将字节序列恢复为Java对象。实现Java对象的序列化可以让类实现Serializable接口,并添加serialVersionUID字段。

二十、Spring Boot面试题

  1. 什么是Spring Boot?它的主要优点是什么?

答:Spring Boot是Spring框架的一个子项目,用于简化Spring应用的开发和部署。它的主要优点是自动配置、快速开发、简化部署和无需代码生成。

  1. Spring Boot如何实现自动配置?

答:Spring Boot通过条件注解、SpringFactoriesLoader和SPI机制来实现自动配置。它会根据项目的依赖和配置,自动加载适合的配置类,并将Bean注入到Spring容器中。

二十一、Spring Cloud面试题

  1. 什么是Spring Cloud?它与Spring Boot有什么区别?

答:Spring Cloud是基于Spring Boot的微服务框架,它提供了一系列用于构建分布式系统的解决方案。Spring Cloud主要用于解决微服务架构中的服务发现、负载均衡、配置管理等问题,而Spring Boot用于简化单个微服务的开发和部署。

  1. 什么是Eureka?它在Spring Cloud中的作用是什么?

答:Eureka是Spring Cloud提供的服务发现组件,用于管理和发现微服务的注册信息。在Spring Cloud中,微服务将自己的注册信息注册到Eureka服务器上,其他微服务通过Eureka服务器获取注册信息来实现服务之间的通信。

二十二、Java内存管理与性能优化面试题

  1. 什么是Java内存区域?它包括哪些部分?

答:Java内存区域是Java虚拟机在运行过程中对内存的划分,主要包括程序计数器、Java堆、Java栈、方法区(元空间)、本地方法栈等。

  1. 如何进行Java内存优化?说一下常用的内存优化技巧。

答:Java内存优化可以从以下几个方面进行:合理设计对象的生命周期、使用对象池减少对象创建和回收、优化集合使用,避免内存泄漏、调整JVM参数等。

二十三、消息队列面试题

  1. 什么是消息队列?它的作用是什么?

答:消息队列是一种异步通信机制,用于在不同的应用程序之间传递消息。它的作用是解耦消息的发送者和接收者,提高系统的可伸缩性和可靠性。

  1. 说一下常见的消息队列中间件有哪些?

答:常见的消息队列中间件包括RabbitMQ、Apache Kafka、ActiveMQ、RocketMQ等。

二十四、容器化与微服务面试题

  1. 什么是容器化?常见的容器化技术有哪些?

答:容器化是将应用程序和其依赖的组件打包到一个独立、可执行的容器中,以实现应用程序的快速部署和跨环境的一致性。常见的容器化技术有Docker和Kubernetes。

  1. 什么是微服务架构?它与传统的单体应用有什么区别?

答:微服务架构是一种将应用程序拆分为一组小型、独立的服务的架构风格。与传统的单体应用相比,微服务架构更加灵活、可扩展,容易进行持续集成和部署,同时可以实现团队的独立开发和部署。

二十五、大数据与分布式计算面试题

  1. 什么是大数据?如何处理大数据?

答:大数据是指数据量过大、处理复杂度高以至于常规数据处理工具无法处理的数据集。处理大数据可以采用分布式计算和存储技术,如Hadoop、Spark等。

  1. 什么是分布式计算?常见的分布式计算框架有哪些?

答:分布式计算是指将计算任务分解为多个子任务,并在多台计算机上并行执行的计算模型。常见的分布式计算框架包括Hadoop、Spark、Flink等。

二十六、安全与认证授权面试题

  1. 什么是跨站脚本攻击(XSS)?如何防止XSS攻击?

答:跨站脚本攻击是一种常见的Web安全漏洞,攻击者通过在Web页面中插入恶意脚本,获取用户的敏感信息。防止XSS攻击可以采用输入检查、输出编码和使用HttpOnly标记来限制Cookie的访问。

  1. 什么是跨站请求伪造(CSRF)?如何防止CSRF攻击?

答:跨站请求伪造是一种通过伪装合法用户的请求来执行非法操作的攻击方式。防止CSRF攻击可以使用令牌验证(Token)或双重提交验证(Double Submit Cookie)。

二十七、分布式系统与微服务面试题

  1. 什么是分布式事务?如何保证分布式事务的一致性?

答:分布式事务是指在多个数据库或服务之间进行的事务操作。保证分布式事务的一致性可以采用两阶段提交(Two-Phase Commit)或补偿性事务(TCC)等方式。

  1. 什么是服务注册与发现?常见的服务注册与发现组件有哪些?

答:服务注册与发现是微服务架构中实现服务之间相互发现与通信的一种机制。常见的服务注册与发现组件有Eureka、Consul、ZooKeeper等。

二十八、Spring Security面试题

  1. 什么是Spring Security?它的主要功能是什么?

答:Spring Security是Spring框架的安全性解决方案,用于在应用程序中实现认证和授权等安全功能。它的主要功能是身份认证、权限管理和会话管理等。

  1. 如何配置Spring Security实现基本的用户认证?

答:可以通过编写配置类继承WebSecurityConfigurerAdapter,并重写configure方法来配置Spring Security。例如:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().anyRequest().authenticated().and().formLogin().and().httpBasic();}@Autowiredpublic void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");}
}

二十九、Spring Data面试题

  1. 什么是Spring Data?它的主要作用是什么?

答:Spring Data是Spring框架的一个子项目,用于简化数据访问层的开发。它提供了一套通用的数据访问抽象,可以与多种数据存储进行交互,如关系型数据库、NoSQL数据库、Elasticsearch等。

  1. Spring Data JPA和Hibernate有什么区别?

答:Spring Data JPA是Spring Data的一部分,它提供了JPA规范的实现,可以与JPA兼容的持久化框架进行交互。而Hibernate是一个独立的ORM框架,实现了JPA规范。

三十、Java并发编程面试题

  1. 什么是线程池?为什么要使用线程池?

答:线程池是一种管理和复用线程的机制,它可以避免频繁创建和销毁线程,减少线程切换的开销,提高程序的性能和效率。

  1. Java中有哪几种实现线程池的方式?

答:Java中可以通过ThreadPoolExecutor类实现自定义线程池,也可以使用Executors类提供的工厂方法创建不同类型的线程池,如FixedThreadPool、CachedThreadPool、SingleThreadExecutor等。

三十一、Java网络编程面试题

  1. 什么是TCP和UDP?它们有什么区别?

答:TCP(传输控制协议)和UDP(用户数据报协议)都是传输层的协议,用于在网络上传输数据。TCP是一种可靠的、面向连接的协议,它提供数据的可靠传输和数据的顺序性;而UDP是一种不可靠的、无连接的协议,它不保证数据的可靠性和顺序性。

  1. Java中如何实现网络编程?

答:Java中可以通过Socket和ServerSocket类来实现网络编程。Socket类用于在客户端和服务器之间建立网络连接,ServerSocket类用于在服务器端监听客户端的连接请求。

三十二、Java内存模型与多线程面试题

  1. 什么是Java内存模型(JMM)?它有什么作用?

答:Java内存模型是Java虚拟机对多线程程序中共享变量的访问规则的抽象。它定义了多线程之间如何进行内存交互和通信,保证了多线程程序的可见性、有序性和原子性。

  1. Java中有哪些实现线程同步的方式?

答:Java中可以使用synchronized关键字、ReentrantLock类、volatile关键字等方式来实现线程同步。

三十三、Spring AOP面试题

  1. 什么是Spring AOP?它在Spring框架中的作用是什么?

答:Spring AOP是Spring框架的一个核心特性,用于实现面向切面编程。它可以在应用程序运行期间动态地将通用的横切关注点(如日志、事务、安全性等)应用到目标方法上,提高代码的复用性和可维护性。

  1. Spring AOP是如何实现的?

答:Spring AOP通过动态代理技术实现,主要有两种方式:基于接口的JDK动态代理和基于类的CGLIB动态代理。

三十四、Java并发工具类面试题

  1. 什么是CountDownLatch?它有什么作用?

答:CountDownLatch是Java并发工具类之一,它用于控制线程的执行顺序。它可以让某个线程在其他线程执行完特定操作后再继续执行,常用于等待其他线程全部完成后再进行后续操作。

  1. 什么是Semaphore?它有什么用途?

答:Semaphore是Java并发工具类之一,它用于控制同时访问某个资源的线程数量。它可以限制同时执行的线程数,用于保护共享资源,防止资源竞争。

三十五、Java虚拟机调优面试题

  1. 如何进行Java虚拟机的性能调优?

答:Java虚拟机的性能调优可以从调整堆内存大小、垃圾回收算法、线程数等方面入手。通过合理的参数配置和代码优化,可以提高程序的性能和稳定性。

  1. Java中的垃圾回收算法有哪些?它们有什么区别?

答:Java中的垃圾回收算法有标记-清除算法、复制算法、标记-整理算法和分代收集算法。它们的区别在于回收对象的方式和效率,不同的应用场景可以选择合适的垃圾回收算法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter的状态管理之Provider

前言 像vue、react有对应的状态管理库,比如:pinia、Redux 。同样flutter中也有状态管理库,但是flutter中的状态管理库很多,对于像我这样的新手来说这很难选择。因此只好选择官方库——Provider 因为是第一次学习,如果…

vue2watch监听遇到的问题

1 vue 父组件里引入子组件 显示与隐藏是v-if控制时 父传入子的参数通过watch 监听请求接口时 watch 时而监听不到 请求接口的参数就不对 如图 父组件这么引入子组件v-show 和v-if 是有区别的 2 子组件通过watch 监听后 清空页面要展示的列表数据 重新从第一页加载数据&#x…

扶小微、惠民生,平安养老险护航中小企业健康发展

今年以来,随着经济社会全面恢复常态化运行,稳增长、稳就业、稳物价政策效应逐步显现,市场需求逐步恢复,生产供给持续增加,我国经济发展质量继续提高,国民经济恢复向好。平安养老险作为平安集团内专业养老保…

【雕爷学编程】Arduino动手做(164)---Futaba S3003舵机模块3

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

log4j复现之CVE-2017-5645

log4j复现之CVE-2017-5645 一、靶机环境的安装 1.docker环境安装 apt-get update apt-get install -y apt-transport-https ca-certificates apt install docker.io apt-get install python3-pip pip3 install docker-compose docker-compose -v2.下载vlnhub git clone …

长沙打造“全球研发中心城市”,智能网联产业如何交卷?

作者 | 魏启扬 来源 | 洞见新研社 知乎上有一个浏览超百万的热门问题——“大家怎么看待长沙这个城市?” 答主“星球研究所”的回答获得了高赞,“这是一个天性如火的城市”。 网红城市的外衣下,从湖南卫视的综艺节目,到网红美…

qiankun:react18主应用 + 微应用 react18 + vue3

一:主应用 搭建react项目 npx create-react-app react-qiankun-main安装Antd npm install antd –save在 index.js中引入 import { ConfigProvider } from "antd"; import zhCN from "antd/locale/zh_CN"; import "antd/dist/reset.css…

Redis PipelineScript

文章目录 前言一、Pipeline是什么?二、Pipeline具体实现特点缺点 三、ScriptScript具体实现对比Pipeline三、总结 前言 玩过远程过程调用的小伙伴都知道,一次请求多条数据要比多次请求1条数据效率高(当然,这里的多条数据通常是完…

DDOS百科:什么是 DDoS 攻击及如何防护DDOS攻击

一、什么是 DDoS 攻击? 当多台机器一起攻击一个目标,通过大量互联网流量淹没目标或其周围基础设施,从而破坏目标服务器、服务或网络的正常流量时,就会发生分布式拒绝服务(DDoS)攻击。 DDoS允许向目标发送指数级更多的请求&#…

【大数据之Hadoop】三十七、Hadoop HA高可用

1、HA概述 实现高可用最关键的策略是消除单点故障。HA分成各个组件的HA机制:HDFS的HA和YARN的HA。   Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。 NameNode主要在以下两个方面影响HDFS集群: &#xff…

AI时代图像安全“黑科技”如何助力人工智能与科技发展?

〇、前言 7月7日下午,2023世界人工智能大会(WAIC)“聚焦大模型时代AIGC新浪潮—可信AI”论坛在上海世博中心红厅举行。人工智能等技术前沿领域的著名专家与学者、投资人和领军创业者汇聚一堂,共同探索中国科技创新的驱动力量。 在…

4. 设计(黑盒)测试用例 (一) 等价类 边界值 判定表

本篇文章我们将详细介绍如何来测试用例。 1. 设计测试用例的基本要素 1.1 测试用例概念 测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合。 1.2 测试用例要素 测试环境、测试步骤、测试数据、预期结果。 1.3 测试用例的重要性 提…

【美团面试】软件测试面试题

一、设计登录界面测试用例 功能测试(Function test) 0. 什么都不输入,点击提交按钮,看提示信息。(非空检查) 1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。(正常输入&#xff0…

【启发式算法】灰狼优化算法【附python实现代码】

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 路虽远,行则将至&#…

江南大学轴承数据故障诊断(利用连续小波变换转换为二维图像,再利用CNN进行故障诊断)

1.江南大学轴承数据集介绍 采样频率:50khz,采样时间:10s 转速:600 800 1000/rpm 内圈:ib 外圈:ob 滚动体:tb 正常:N 以600转速下的内圈故障数据为例展示: 开始数据…

第46节:cesium 水面效果(含源码+视频)

结果示例: 完整源码: <template><div class="viewer"><vc-viewer @ready="ready" :logo="false"><!

C 知识积累 替换gets函数 Linux C 语法分析 switch和if else的比较

目录 替换gets函数gets()用处gets()的危险之处gets()的几种替代方法一、用%c循环输入直到遇到换行结束二、用getchar()循环输入直到遇到换行结束三、scanf的另一种用法四、c中的getline()方法五、解决方案使用fgets代替 回车与换行一.知其然二.知其所以然 关键字&#xff0c;操…

怎样优雅地增删查改(五):按组织架构查询

文章目录 原理实现应用测试 之前我们实现了Employee&#xff0c;Alarm管理模块以及通用查询应用层。 Employee的集合查询业务&#xff0c;是通过重写CreateFilteredQueryAsync方法&#xff0c;来实现按组织架构查询的过滤条件。 我们将这段逻辑代码提取到通用查询应用层中&…

Web开发的富文本编辑器CKEditor介绍,Django有库ckeditor_uploader对它进行支持

当需要在网页应用程序中提供富文本编辑功能时&#xff0c;CKEditor是一个流行的选择。CKEditor是一个开源的JavaScript富文本编辑器&#xff0c;它提供了强大的功能和用户友好的界面&#xff0c;使用户可以轻松创建和编辑格式化的文本内容。 以下是CKEditor的一些主要特性&…

大厂sql真题讲解(黑马)

2023 http://yun.itheima.com/open/853.html | 面试宝典-如何备战大厂SQL真题 http://yun.itheima.com/open/858.html | 面试宝典–大厂必考知识开窗函数 http://yun.itheima.com/open/864.html | 面试宝典-详解美团SQL真题 http://yun.itheima.com/open/868.html | 图解大…