程序猿——面试系列(3)

每日更新十道热门开发岗位面试题,诸君自便
今天是第三天,以后每天都会照常更新,需要的道友可以收藏或者关注一波,不会迷路

1.zookeeper有什么功能,选举算法如何进行?
  1. 命名服务
  2. 配置管理
  3. 集群管理
  4. 分布式锁
  5. 队列管理
a.服务器启动时期的Leader选举
  1. 每个Server发出一个投票
  2. 接受来自各个服务器的投票
  3. 处理投票
  4. 统计投票
  5. 改变服务器状态
b.服务器运行时期的Leader选举
  1. 变更状态
  2. 每个Server会发出一个投票
  3. 接收来自各个服务器的投票
  4. 处理投票
  5. 统计投票
  6. 改变服务器的状态
2.什么是Java虚拟机

虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的

3.static关键字在Java中是什么意思?

静态的

4.接口与抽象类的区别是什么?
  1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以有非抽象的方法
  2. 接口中的实例变量默认是 final 类型的,而抽象类中则不一定
  3. 一个类可以实现多个接口,但最多只能实现一个抽象类
  4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定
  5. 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
5.什么是迭代器?举例一个在以前工作中使用过的迭代器

Iterator接口提供了很多对集合元素进行迭代的方法。每一个集合类都包含了可以返回迭代器实例的迭代方法。迭代器可以在迭代的过程中删除底层集合的元素。
resversed(序列) 顺序翻转迭代 zip(序列1,序列2) 并行迭代 编号迭代

6.什么是死锁?

所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。

7.AOP和IOC是什么?
8.String 是最基本的数据类型吗?

不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type),剩下的都是引用类型(reference type),Java 5以后引入的枚举类型也算是一种比较特殊的引用类型。

9.为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?

Hibernate属于全自动ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。
而Mybatis在查询关联对象或关联集合对象时,需要手动编写sql来完成,所以,称之为半自动ORM映射工具。

10.设计一个快速排序算法

冒泡排序

​ 原理:比较两个相邻的元素,将值大的元素交换到右边

​ 思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面

今日毕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值