【2022年第九周周日总结】充满面试焦虑的一周。。。。。。

本周真是充满了面试的艰难啊。。。。不过也攒下不少面试经验

Arraylist与hashmap相关

  1. 数组lsit的遍历,迭代器效率最低,使用索引效率最高
  2. arraylist底层就是一个Object数组,默认容量为10
  3. 数组一般都是要有初始化容量的。比如new int【】不给数组容量会报错,想要实现可变容量需要实现arraylist。
  4. 下面这行代码指出,length是数组独有的,表示容量int[] aa = new int[4]; System.out.printf(String.valueOf(aa.length));结果为4
  5. 数组中元素的个数通常无法直接确定,需要通过for循环判断
  6. arraylist的线程不安全问题就是其底层源码没有加锁
  7. concurrenthashmap能够实现线程安全,早期版本是分段锁,最新的版本主要是通过cas操作实现的
  8. 此外hashtable是线程安全的,但是不推荐使用,因为底层使用的是synchronized加锁,性能过低

lock锁

  1. 特点是更加直观
  2. 知道lock是一个接口,常见的实现类是reentrantLock。
  3. 建议讲释放锁unlock放入try catch finally 的finally块当中

网络编程

  1. 知道网络编程的三要素:ip,端口,协议
  2. ip+端口号组成套接字,一般使用socket对象实现客户端与服务端的链接
  3. 客户端通过套接字实现 printwriter向缓冲区写入数据,而服务端使用while循环等待i接受信息

反射机制

  1. 反射机制实际上就是获取运行时的类信息
  2. java文件经过类加载实现了,所以我们称Class类是任何运行类的镜子,获取这个类对应的Class类就是反射
  3. 反射提供了非常多的方法来实现类的运行时修改操作
  4. 可以获取一个类的method并调用invoke执行

原子类与unsafe

  1. 原子类提供了cas操作实现自增自减
  2. 原子类atomic 实现一些子类针对不同的数据类型
  3. 所有cas的操作都是在unsafe底层实现的,native修饰,系统方法,实际上是一个cpu指令不可打断
  4. 仍建议通过反射拿到unsafe内部已经创建好的unsafe实例
  5. lockSupport的park,unpark实际上也是调用了unsafe的park 方法 unpark方法
  6. unsafe可以实现位级别的内存管理

不可变对象,final原理

  1. String 的不可变是由于final修饰了byte数组,而且实现了保护性拷贝
  2. final 实际上加了一个写屏障,这个写屏障和volatile的写屏障一样,保证上面的指令不会跑到下面,同时和volatile一样保证之前的操作刷新到主存实现可见性。
  3. 被final修饰的变量必须显示的指示默认值,否则报错
  4. 被final修饰的变量会在类初始化之前就完成。
  5. 享元模式就是创建过的类不着急销毁,看它是否可重复利用(例如线程池的实现)

面试编程题

1.记得等价类划分,找边界值

软件测试初步了解

  1. 质量控制,质量保证概念与实施
  2. 配置管理相关概念
  3. 什么是优秀的测试人员
  4. 了解什么是软件度量,指的是软件在某个阶段的缺陷发生密度
  5. 了解软件质量度量的基本方法:目标问题度量法(问题,度量项),风险度量法
  6. 了解pdca理念
  7. 了解软件质量保证是如何实施的(1.需求分析?如何做?保证需求可行性,保证用户了解自己的需求,确保开发人员没有过多的错误。2.评审)
  8. 了解软件生命周期:需求分析,规格确定(配置管理,这个过程每个角色都要发挥自己的作用,例如PM项目经理需要制定计划,这一阶段涉及需求分析),
  9. 了解配置管理全过程:角色有:项目经理,配置管理委员会,配置管理员(执行版本控制与变更控制方案),系统集成员,开发人员。首先是计划阶段:完成需求分析,项目计划,配置计划,之后是开发与维护,这个阶段会有技术审计,代码审查
  10. 了解基本的软件测试理论例如:黑盒测试的测试用例设计(等价类划分,边界值),白盒测试(控制流测试,基本路径测试),集成测试(下面的是桩模块,上面是驱动模块):分为自上而下和非渐增式测试。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值