## ****关于本次面试的遇到的问题****

**这是第一次写博客,记录一下自己的编程历程。回想半年多独自一人的学习,最大的不足之处就是不做笔记,从今天起要勤做笔记,认真总结,切忌焦躁。遇到今天的面试,感觉压力很大,有点紧张,回顾了一下自己的回答,感觉没有发挥应有的水平,现在记录下自己不太确定的问题。
1.写个单体模式:
单例模式的特点
1). 单例模式只能有一个实例。
2). 单例类必须创建自己的唯一实例。
3). 单例类必须向其他对象提供这一实例。
饿汉模式:相对性能较快
public class Entity{
private Entity(){};
private static Entity entity;
public static Entity newEntity(){
if(entity == null){
entity = new Entity();
return entity;
}
}
}
懒汉模式:性能相对较低
public class Entity{
private static Entity entity;
private Entity{}
public synchronized static Entity newEntity(){
if(entity == null){
entity = new Entity();
return entity;
}
}
}
2:熔断器的作用:
在微服务的体系下,服务之间是与依赖关系的!服务的调用中也存在着各种可能的问题,如果一个服务处理缓慢,可能会导致服务被阻塞住,导致整个系统被拖慢,甚至是崩溃。这种情况下可以使用熔断的机制,让服务降级,不让问题继续蔓延。
Hystrix,是Netflix的一个开源熔断器,通过Hystrix,我们可以很方便的实现资源隔离、限流、超时设计、服务降级等服务容灾措施,并且还提供了强大的监控,可以查看各个熔断器的允许情况。
3:java的GC机制:
因为自己水平实在有限,且学习的时间有限,对于GC机制的了解只限于了解java是自动回收垃圾的,网上有多种答案。
4.关于java虚拟机:
了解的不多,无法回答。
5.为什么要用docker部署:
1).更快速的交付和部署
对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。
2).更高效的虚拟化
Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。
3).更轻松的迁移和扩展
Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。
3).更简单的管理
使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。
4).对比传统虚拟机总结
特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个
6.关于HashMap
本人回答了HashMap是key-value键值对的数据结构且无序,实现了Map、Cloneable、java.io.Serializable接口,继承了AbstractMap,线程不安全的。回头想本来可以回答得更完整些,HashMap的key不能重复,value可以重复,key和value都可以为null值,

面试完感觉自己回答不够好,本想就当做对自己历练,没想到过后却收到了这家公司的offer,很意外,给我了很大的信心,不过路才刚开始,对于薪资自己并没有想要太高,第一份编程的工作只要可以养活自己就行,加油。还是很感谢面试官对我认可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值