360二面面经

岗位全称【360集团 25春-Android手机软件开发工程师(北京)-4611 职位】

  • 刚开始聊了几分钟非技术的东西。。。
  1. Java的内存模型是什么样的?
    1. 主要是通过 JVM 进行管理,分类上来说可以分为堆、栈、方法区、寄存器和程序计数器。
  2. 什么叫内存模型?主要定义了什么东西?
    1. 内存模型给内存划分了不同的区域,不同区域保留我们自己定义的一些变量。
  3. 可见性有序性原子性是什么概念?
    1. 可见性是指:在多线程环境下,线程 A 对 共享变量 X 进行了修改后,线程 B 无法立马得知变量 X 被修改了。
    2. 有序性是指:代码实际执行顺序和代码书写顺序完全相同。
    3. 原子性是指:一些操作要么全部完成,要么全部不完成。
    4. volatile 关键字可以保证可见性和有序性
      1. 被 volatile 修饰的变量,线程 A 对其进行修改后,线程 B 对该变量的修改是立马可见的。
      2. 通过添加内存屏障的方式,保证了代码的实际执行顺序和代码书写顺序完全相同。
  4. 有没有什么具体场景?
    1. 可见性:如果某个商品的库存只剩一个了,这时候有两个用户同时购买这个商品,必须要保证用户 A 购买商品后,商品库存的减少对用户 B 是立马可见的。
    2. 有序性和原子性:A 给 B 进行银行转账,必须是 A 先扣款, B的余额才能增加。同时必须保证原子性,不能说 A 扣款了 ,但是 B 的余额没有增加。
  5. 用过单例模式嘛?单例里面有什么场景是和这个有关的?
    1. 单例是要保存线程安全的,采取的方案是加双重检查锁。
  6. 单例模式为什么要加双重检查锁?
    1. 双重检查锁是两个 if 中间加了一个锁,第一个 if 是为了提高效率,第二个 if 是为了保证单例,加锁是为了保证线程安全。
  7. volatile 和 synchronized 在可见性的保障上,看过底层源码嘛?或者说我换一种用法,为什么 volatile 不能替代锁?
    1. volatile 不具备原子性,只能实现有序性和原子性。
  8. 在可见性的保证机制上面呢?
    1. volatile 主要是通过加读写屏障实现的,锁是通过加锁解锁来实现串行化操作,保证同一时刻只有一个线程进行访问。
  9. Java 中有哪些锁?
    1. synchronized 、 Lock、CAS 乐观锁。
  10. 用过 reentrantLock 嘛?
    1. 用过,它是一个可重入锁。
  11. 他和 synchronized 的主要差别在哪里?
    1. 主要差别在可重入性。
    2. 可重入性是指:当一个线程已经持有这个锁时,在持有锁的期间能否再次请求这个锁?可重入性是可以再次请求的。
    3. reentrantLock 具备可重入性,是可重入锁。
  12. 那 reentrantLock 的使用场景是什么?
    1. 公平锁和超时。
  13. 结合一个例子说一下。
    1. 公平和不公平主要是说,获取锁的顺序和申请锁的顺序一不一样,有时候我们需要保证获取锁的顺序必须和申请的顺序是完全一致的。
  14. 是怎么实现可重入的?加锁是有加锁的次数的。
    1. 有一个栈,加锁之后会往栈里面放一个,释放锁就会从栈里面弹出来一个。
  15. 有没有看到它的 AQS ?
    1. 挺多的锁的底层用的都是这个类,主要使用一个 volatile 修饰的一个状态字段属性,和 CAS 操作。
  16. 我看你还刷了不少题是吗?
    1. 之前是在力扣上做过一点点,主要是为了练习自己的算法能力,参加一些算法比赛。
  17. 刷题给你带来了什么好处?
    1. 对常见的数据结构及其常见的用法更加了解了。
    2. 对思维逻辑的能力进行强化和锻炼。
  18. 有没有印象比较深的算法题。
    1. 力扣第 62 题......
    2. 动态规划和数学解题,一顿子编...
  19. 安卓这方面你了解多少?
    1. 安卓底层主要用的应该也是 Java 和 JS ,编程语言这块是相通的。
    2. 安卓的四大组件是有所了解的。
  20. 对于陌生的领域,比如说安卓,学习路径你会怎么规划?
    1. 一顿子吹牛逼...
  21. 后面就是唠嗑了...
  22. 二面面试官说了会把我往 HR 面推,但是由于我当时眼拙投的是 25 届的春招,不是实习。。。神奇的是他们也没有发现,给我面试机会就算了,一面还神奇般的过了,现在二面也是稀里糊涂的过了。但是处于大三下的我不符合 25 届实习生的要求,二面面试官说具体得看公司规定了。只能说看命了。
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
Again_acme
下载 APP