联易融测开面试准备

文章目录

1.jmeter何postman的优缺点

Postman 更适合接口调试与轻量自动化;

JMeter 更适合高并发性能测试与复杂场景自动化。

2.测试方法有哪些?测试过程中主要用到了哪些测试方法?

黑盒测试白盒测试等等。项目中用到了黑盒测试,重点应用等价类和边界值设计输入测试用例;性能方法,用到了jmeter进行压力测试。单元测试,集成测试和系统测试都会用到

3.常见的黑盒测试和白盒测试方法分别有哪些?

黑盒测试包括等价类,边界值,判定表,因果图,等等,不关心代码的

白盒测试包括语句覆盖,条件覆盖,分支覆盖路径覆盖等等,关注代码的内部逻辑结果

4.说一下java的集合框架?

java的集合框架主要由Collection和Map两大体系组成。Collection体系包括List、Set、Queue等,Map体系主要存放键值对,包括HashMap,LinkedHashMap,TreeMap和支持并发的CocurrentHashMap。

5.HashMap的底层实现?

HashMap底层是通过"数据+链表+红黑树"的结构实现的,put操作通过hash扰动函数计算桶位置,如果冲突就插入链表或红黑树,链表长度大于8并且容量大于64会转为红黑树,提高查询效率。当链表长度大于阈值的话就扩容为原来的两倍。

6.你了解jvm吗?

主要干三件事:类加载,内存回收和垃圾管理。

类加载器主要负责把class文件加载到jvm内存中,遵循双亲委派模型。方法区主要存放类信息,常量池等等。还包括线程私有区域:栈和程序计数器。栈主要存放函数调用栈帧,程序计数器负责记录字节码执行的位置

7.HashMap和HashTable的区别?

HashMap是线程不安全的,性能更高;HashTable线程安全,所有的方法都带了synchronized。

HashMap允许null key和null value,HashTable完全不允许

一般来说要想线程安全,一般用的是ConcurrentHashMap而不是Hashtable

8.如何获取线程安全的map

1.cocurrenthashmp采用cas+synchronized锁实现

2.Collections.synchronzedMap包装hashmap

3.用hashtable

9.synchronized锁和lock锁的区别?

synchronized锁是java的内置锁,由JVM提供,可以修饰方法或者代码块,JVM会进行自动加锁和解锁,使用简单。Lock是java提供的显示锁,需要手动加锁和解锁但是更加灵活,支持中断等待,公平锁和多条件变量等等,适合复杂的多线程业务逻辑场景

10.线程池的参数和工作原理

java线程池是通过ThreadPoolExecutor来实现的,其核心参数包括核心线程数,最大线程数,救急线程生存时间,救急线程生存时间单位,线程工厂和拒绝策略。工作原理是:任务提交交给核心线程,满了给阻塞队列,阻塞队列满,交给救急线程,实在还多就启用拒绝策略

11.B+树的特点

1.所有的关键字都出现在叶子节点,叶子节点形成一个有序链表,便于范围查询和顺序查询。第二,非叶子节点只存储对应的索引信息,不存储实际的数据,第三是树高较低,便于快速查找。

12.mysql查询语句优化思路

第一索引优化,要查询的列尽量走索引。第二避免使用select *,结合explain分析查询计划。然后是表结构的设计要合理,最后是要学会使用缓存加快访问速度

13.notify和notifyAll的区别,获取的锁是什么锁

都是用于唤醒等待在对象监视器上的线程,notify随机唤醒一个等待线程notifyAll唤醒所有等待线程

14.了解哪些可重入锁,以及原理

可重入锁指的是一个线程多次获取同一把锁而不会阻塞,由synchronzied和reentranlock,其中synchronized由jvm提供控制其重入。reentranlock由持有锁的线程记录和计数器实现,重入次数加1计数器加1,计数器为0的时候释放锁。

同理redission实现的分布式锁也是这个实现逻辑

15.springmvc的执行流程如何?

客户端发起请求,前端控制器接收,根据url查找handlermapping对应的controller方法,调用handleradapter执行该方法,最后通过消息转换器转为json返回给客户端

16.MySQL的innodb和myIsam引擎的区别

innodb支持事务,行级锁,外键约束和崩溃回复,适合高并发读写

myisam不支持事务和外键,只支持表级锁,查询快但并发能力弱。

17.单例模式实现方式

饿汉式:类加载就创建实例,线程安全但是可能浪费

懒汉式:延迟实例化,第一次使用创建,加volite和锁保证线程安全。

枚举单例:使用枚举类实现,天然防止反射和序列化破坏单例,安全

18.mysql左连接和右链接的区别

左连接以左表为主,返回左表的所有记录。右连接以右表为主,返回右表的所有记录。

19.为什么选择测试?

实践过程中,对系统的整体质量,稳定性和问题排查更加感兴趣,已有的编程能力能更好的排查问题所在

20.测试用例包括哪些

编号,场景,输入,操作步骤,预期结果,实际结果,是否通过

21.给一支笔如何测试

写字功能是否横穿,笔帽是否正常打开,不同温度湿度是否出墨正常,握持手感,耐摔测试等等

22.linux生效环境变量的命令

linux下可以用export临时设置环境变量,用source让修改后的配置文件立即生效

永久生效需要修改一个配置文件

23. 查看linux日志头部、尾部

head -n 行数 文件名

tail -n 行数 文件名

24.linux查询文件中指定的字符串

grep 字符串 文件名

25.mysql中如何发现慢sql以及优化

可以开启慢查询日志,slow_query_long=ON, 设置超时时间。或者explain分析计划查看SQL执行计划,优化方式的话,尽量让查询的列命中索引

26.用过python的哪些库?

python的requests,pymysql进行数据库连接,numpy.pandas进行数值计算和清晰等等

27.

相关推荐
LYFlied17 小时前
【每日算法】LeetCode 208. 实现 Trie (前缀树)
数据结构·算法·leetcode·面试·职场和发展
38242782717 小时前
python:正则表达式
前端·python·正则表达式
Mr Tang17 小时前
Docker日志查看和应用日志查看命令大全
java·开发语言
invicinble17 小时前
java处理数据合集
java·开发语言
锐学AI18 小时前
从零开始学LangChain(二):LangChain的核心组件 - Agents
人工智能·python
风送雨18 小时前
多模态RAG工程开发教程(上)
python·langchain
Json_18 小时前
springboot框架对接物联网,配置TCP协议依赖,与设备通信,让TCP变的如此简单
java·后端·tcp/ip
棒棒的皮皮18 小时前
【OpenCV】Python图像处理形态学之膨胀
图像处理·python·opencv·计算机视觉
小草cys18 小时前
HarmonyOS Next调用高德api获取实时天气,api接口
开发语言·python·arkts·鸿蒙·harmony os
爬山算法18 小时前
Netty(25)Netty的序列化和反序列化机制是什么?
开发语言·python