快手测开日常实习

10.15一面

  1. 自我介绍
  2. 介绍项目
  3. 订单支付的流程
  4. 用户二次支付怎么办
  5. 和支付平台的消息传递是同步还是异步
  6. Redis怎么查看key的剩余过期时间
  7. 缓存击穿是什么,怎么处理
  8. Java常见异常
  9. 说一下类加载双亲委派机制
  10. 创建线程的方式有哪些
  11. 线程池的核心参数
  12. JMeter的测试流程
  13. 算法:二分查找
  14. 反问

10.22二面(通过待三面)

  1. 自我介绍
  2. 说一下Java集合
  3. 场景下设计测试用例
  4. 怎么理解软件测试
  5. 开发周期
  6. 对测试了解哪些
  7. 有压力如何调整
  8. 怎么处理同事关系
  9. 平时会怎么学习新技术
  10. 在项目中负责的部分
  11. 项目中遇到的问题,怎么发现的
  12. 算法:数字翻译成字符串的可能数
  13. 反问
#快手测开面经##测开实习#
全部评论
手子日常实习是三面技术面吗
点赞 回复 分享
发布于 今天 08:27 山西
方便问下是哪个部门吗
点赞 回复 分享
发布于 今天 11:50 山西
SET mykey value EXPIRE mykey 60 # 设置 mykey 在 60 秒后过期 TTL mykey 如果一个键没有设置过期时间,执行 TTL 或 PTTL 命令会返回 -1 。如果一个键已经过期,执行这些命令会返回 -2 。
点赞 回复 分享
发布于 今天 15:19 广东
1. 定义 - 双亲委派机制是Java虚拟机(JVM)加载类的一种机制。当一个类加载器(ClassLoader)收到类加载请求时,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成。只有当父类加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到对应的类)时,子加载器才会尝试自己去加载。 2. 类加载器层次结构 - 启动类加载器(Bootstrap ClassLoader):它是最顶层的类加载器,负责加载Java核心类库,如 java.lang.Object 等。它是由C++实现的,是JVM的一部分,没有对应的Java类。 - 扩展类加载器(Extension ClassLoader):它的父加载器是启动类加载器。主要负责加载Java的扩展类库,位于 jre/lib/ext 目录下的类。 - 应用程序类加载器(Application ClassLoader):也叫系统类加载器,它的父加载器是扩展类加载器。它负责加载用户类路径( classpath )下的类,这是我们在开发应用程序时最常用的类加载器。 3. 工作过程示例 - 假设我们在应用程序中使用了 java.util.ArrayList 这个类。当应用程序类加载器收到加载 ArrayList 的请求时,它会先把这个请求委派给父加载器(扩展类加载器)。扩展类加载器又会把请求委派给它的父加载器(启动类加载器)。启动类加载器会在自己负责的核心类库中查找 ArrayList ,找到后就加载这个类。如果启动类加载器没有找到,就会把请求返回给扩展类加载器,扩展类加载器在自己的扩展类库中查找,以此类推。只有当所有父加载器都无法加载时,应用程序类加载器才会自己尝试在 classpath 中查找和加载 ArrayList 。 4. 优势 - 安全性:可以保证Java核心类库的安全性。例如,用户不能自己定义一个 java.lang.Object 类来替代JVM中的核心 Object 类,因为启动类加载器会优先加载真正的核心类库中的 Object 类。 - 避免重复加载:保证类在整个JVM中只加载一次。如果父加载器已经加载了某个类,子加载器就不需要再加载,提高了加载效率并且避免了冲突。
点赞 回复 分享
发布于 今天 15:22 广东
Spring线程池( ThreadPoolTaskExecutor )有几个核心参数: 1.  corePoolSize  - 含义:线程池的核心线程数。核心线程在创建后会一直存活,即使它们处于空闲状态。这些线程会等待任务到来并执行任务,它们是线程池基本的执行力量。 - 示例:如果 corePoolSize 设置为5,那么线程池在初始化后会创建5个核心线程,随时准备执行任务。 2.  maxPoolSize  - 含义:线程池允许的最大线程数。当任务数量超过核心线程数,并且工作队列已满时,线程池会创建新的线程来处理任务,直到线程数量达到最大线程数。 - 示例: maxPoolSize 设置为10,当有大量任务到来,核心的5个线程处理不过来,任务队列也满了,就会继续创建新线程,最多创建到10个。 3.  queueCapacity  - 含义:工作队列的容量。当提交的任务数超过核心线程数时,这些任务会被放入工作队列中等待执行。工作队列用于缓冲任务,让线程可以从队列中获取任务并执行。 - 示例: queueCapacity 设为100,当有超过核心线程数的任务提交时,最多可有100个任务在队列中等待,而不是立即创建新线程。 4.  keepAliveSeconds  - 含义:当线程数大于核心线程数时,多余线程的空闲存活时间。即当线程池中的线程数量超过核心线程数,并且有线程处于空闲状态的时间超过这个设定值时,这些多余的空闲线程会被销毁。 - 示例: keepAliveSeconds 设为60,表示多余线程空闲60秒后就会被销毁。 5.  threadNamePrefix  - 含义:线程名称的前缀。用于在日志记录、调试等场景中方便地识别线程所属的线程池。 - 示例:设置 threadNamePrefix 为 "my-pool-" ,那么线程池创建的线程名称可能是 my - pool - 1 、 my - pool - 2 等,方便区分不同线程池的线程。
点赞 回复 分享
发布于 今天 15:23 广东
1.  SQLException (SQL异常) - 原因:在进行数据库操作(如执行SQL语句)时出现问题,例如SQL语法错误、数据库连接问题、事务处理异常等情况会抛出。它是与数据库交互过程中常见的异常类型。 2.  ConcurrentModificationException (并发修改异常) - 原因:当一个集合(如 ArrayList 、 HashMap 等)在被一个迭代器遍历的同时,又被其他线程或者代码以不兼容的方式修改(比如直接添加或删除元素)时,就会抛出这个异常。这是为了保证集合操作的一致性和安全性。 3.  OutOfMemoryException (内存溢出异常) - 原因:当Java应用程序试图使用比JVM所分配的内存更多的内存时,就会抛出此异常。这可能是因为创建了过多的对象、加载了大量的数据等原因导致内存不足。 4.  StackOverflowException (栈溢出异常) - 原因:在方法调用过程中,如果递归调用没有正确的终止条件,或者方法调用层次过深(例如无限递归),就会导致栈空间被耗尽,从而抛出这个异常。栈是用于存储方法调用信息的内存区域,每个方法调用都会在栈中占用一定的空间。 5.  NoSuchMethodException (没有此方法异常) - 原因:在使用反射机制访问类的方法时,如果指定的方法不存在,就会抛出这个异常。这在动态加载和调用类方法的场景中可能会遇到。 6.  SecurityException (安全异常) - 原因:当违反了Java的安全策略时会抛出。例如,一个不可信的代码试图访问受限制的系统资源或者执行受限制的操作(如访问本地文件系统权限不足)时,就会触发此异常。 1.  InterruptedException (中断异常) - 原因:当一个线程在等待(如处于 wait 、 sleep 或者 join 状态)或者阻塞状态时被其他线程中断,就会抛出此异常。通常用于多线程编程中,合理处理这个异常可以让线程优雅地结束或者改变执行状态。 2.  FileNotFoundException (文件未找到异常) - 原因:在文件操作中,如果尝试打开或者读取一个不存在的文件,就会抛出这个异常。它是 IOException 的一种常见子类,用于明确提示文件不存在的问题。 3.  MalformedURLException (URL格式错误异常) - 原因:当构造一个 URL 对象时,如果传入的字符串不符合 URL 的格式要求,就会抛出此异常。这在进行网络编程,涉及到 URL 解析和使用时可能会出现。 4.  UnsupportedOperationException (不支持的操作异常) - 原因:当调用一个不被支持的方法时会抛出。例如,某些集合的只读视图调用修改操作(如 Collections.unmodifiableList 返回的列表调用 add 方法)就会产生这个异常。 5.  CloneNotSupportedException (不支持克隆异常) - 原因:当一个类没有实现 Cloneable 接口,但是调用了 clone 方法时会抛出此异常。用于控制对象的克隆行为,确保只有允许克隆的对象才能进行克隆操作。
点赞 回复 分享
发布于 今天 15:31 广东

相关推荐

2 6 评论
分享
牛客网
牛客企业服务