20180512下午深圳vivo面试题目

5月11日在上班时间,VIVO那边对我进行一轮电话面试,面试的主要内容如下:

1.简单的自我介绍

2.kafka的实现原理?

分区+按顺序写+按位移读

3.JVM垃圾回收的算法?

(1)标记-清除

标记出要回收的对象,清除掉要回收的对象

(2)标记-整理

标记出要回收的对象,清除掉要回收的对象,存活对象整理到连续的内存空间。

(3)标记-复制

标记出要回收的对象,复制存活的对象,缺点是内存使用率只有50%。

(3)分代收集

年轻代使用:标记-复制

老年代使用:

4.如何判断一个对象要被垃圾回收?GC Roots是怎么判断的?

根搜索方法是通过一些“GC Roots”对象作为起点,从这些节点开始往下搜索,搜索通过的路径成为引用链(Reference Chain),当一个对象没有被GC Roots的引用链连接的时候,说明这个对象是不可用的。

GC Roots对象包括:

a) 虚拟机栈(栈帧中的本地变量表)中的引用的对象。

b) 方法区域中的类静态属性引用的对象。

c) 方法区域中常量引用的对象。

d) 本地方法栈中JNI(Native方法)的引用的对象。

引用类型:强引用、软引用、弱引用和虚引用

5.垃圾回收器有哪些?有啥区别?

(1)Serial垃圾收集器

是一个单线程收集器,但它在执行垃圾收集的时候,其他线程得全部暂停工作。

(2)ParNew垃圾收集器

ParNew收集器是Serial收集器的多线程版本,它是多个线程在执行回收工作,但在执行回收工作时,其他所有线程也是要全部暂停工作的。以追求最短垃圾回收为主要目的。

(3)Parallel Scanvenge收集器

Parallel Scanvenge是一个新生代收集器,它也是使用复制算法的收集器,又是并行的多线程收集器。这个垃圾收集器更关注吞吐量,吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间)。它是多个线程在执行回收工作,但在执行回收工作时,其他所有线程也是要全部暂停工作的。

(4)CMS(Concurrent Mark Sweep)

CMS(Concurrent Mark Sweep)并发标记清除收集器是一种以获取最短回收停顿时间为目标的收集器,在JDK1.5中发布。会产生内存碎片。

整个过程分四个步骤。

1) 初始标记

2) 并发标记

3) 重新标记

4) 并发清除

其中初始标记和重新标记都是要停止其他所有线程的工作执行的,并发标记和并发清除可以与其他工作线程一起执行。

(5)G1收集器
G1(Garbage-First)收集器是整体上基于标记-整理,从局部看是基于复制算法实现。不会产生太多的内存碎片。利用多CPU、多核环境,通过并发的方式让JAVA程序在执行垃圾回收的时候也能继续执行。
G1收集器的过程如下。
(1) 初始标记
(2) 并发标记
(3) 最终标记
(4) 筛选回收
其中初始标记、最终标记和筛选回收是要停止其他所有线程的工作执行的,并发标记可以与其他工作线程一起执行。

6.垃圾回收器CMS的原理?

CMS(Concurrent Mark Sweep)并发标记清除收集器是一种以获取最短回收停顿时间为目标的收集器,在JDK1.5中发布。会产生内存碎片。

整个过程分四个步骤。

1) 初始标记

2) 并发标记

3) 重新标记

4) 并发清除

其中初始标记和重新标记都是要停止其他所有线程的工作执行的,并发标记和并发清除可以与其他工作线程一起执行。

https://www.sohu.com/a/214780788_753508

7.说下Synchronized和ReentrantLock的区别和实现原理?

(1)Synchronized在虚拟机实现,是阻塞的

1)同步方法

添加ACC_SYNCHRONIZED标识

2)同步代码块

反编译后得到monitor enter和monitor exit指令。

(2)ReentrantLock在代码层通过volatile+CAS实现,是非阻塞的

CAS 是通过调用循环调用compareAndSet来判断值是有修改,通过调用unsafe.compareAndSwapInt来实现,内部调用C++代码并且加锁(多处理器),通过offset读取内存中指定位置的数值,再跟当前高速缓存中的值比较是否

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
射频天线是一种用于无线通信的关键元件,常见于手机、通信基站等设备中。vivo作为一家知名的智能手机品牌,在射频天线领域有着丰富的经验和深厚的技术实力。以下是我对vivo射频天线面试题的回答: 1. 射频天线在手机中的作用是什么? 射频天线在手机中起到了接收和发送无线信号的作用。它负责接收基站或其他设备发出的无线信号,并将其转化为电信号传输给手机的其他部件,同时也将手机产生的电信号转化为无线信号发送出去,实现了手机的无线通信功能。 2. vivo如何确保射频天线的性能和品质? vivo注重射频天线的设计和材料选择。首先,vivo会根据手机的外形与设计要求,优化射频天线的布局,以尽可能提高信号的接收和发送效果。其次,vivo会在射频天线的材料选择上严格把关,保证天线的导电性和抗干扰性,从而提高天线的性能和品质。 3. 如何解决手机天线的信号干扰问题? 在实际应用中,手机的射频天线可能会受到周围环境的干扰,导致信号质量下降或者无法正常通信。vivo会通过调整天线参数和信号处理算法,来减少信号干扰的影响。此外,vivo也会在设计手机机身时,采用屏蔽材料或合理的机构设计,来隔离天线与其他部件的干扰,从而提高射频天线的性能和避免信号干扰问题。 综上所述,vivo在射频天线领域拥有丰富经验,并以其注重射频天线设计和材料选择的方式,确保天线的性能和品质。同时,vivo还积极解决手机天线的信号干扰问题,提升了手机的通信质量和用户体验。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值