360二面面经
岗位全称【360集团 25春-Android手机软件开发工程师(北京)-4611 职位】
- 刚开始聊了几分钟非技术的东西。。。
- Java的内存模型是什么样的?
- 主要是通过 JVM 进行管理,分类上来说可以分为堆、栈、方法区、寄存器和程序计数器。
- 什么叫内存模型?主要定义了什么东西?
- 内存模型给内存划分了不同的区域,不同区域保留我们自己定义的一些变量。
- 可见性有序性原子性是什么概念?
- 可见性是指:在多线程环境下,线程 A 对 共享变量 X 进行了修改后,线程 B 无法立马得知变量 X 被修改了。
- 有序性是指:代码实际执行顺序和代码书写顺序完全相同。
- 原子性是指:一些操作要么全部完成,要么全部不完成。
- volatile 关键字可以保证可见性和有序性
- 被 volatile 修饰的变量,线程 A 对其进行修改后,线程 B 对该变量的修改是立马可见的。
- 通过添加内存屏障的方式,保证了代码的实际执行顺序和代码书写顺序完全相同。
- 有没有什么具体场景?
- 可见性:如果某个商品的库存只剩一个了,这时候有两个用户同时购买这个商品,必须要保证用户 A 购买商品后,商品库存的减少对用户 B 是立马可见的。
- 有序性和原子性:A 给 B 进行银行转账,必须是 A 先扣款, B的余额才能增加。同时必须保证原子性,不能说 A 扣款了 ,但是 B 的余额没有增加。
- 用过单例模式嘛?单例里面有什么场景是和这个有关的?
- 单例是要保存线程安全的,采取的方案是加双重检查锁。
- 单例模式为什么要加双重检查锁?
- 双重检查锁是两个 if 中间加了一个锁,第一个 if 是为了提高效率,第二个 if 是为了保证单例,加锁是为了保证线程安全。
- volatile 和 synchronized 在可见性的保障上,看过底层源码嘛?或者说我换一种用法,为什么 volatile 不能替代锁?
- volatile 不具备原子性,只能实现有序性和原子性。
- 在可见性的保证机制上面呢?
- volatile 主要是通过加读写屏障实现的,锁是通过加锁解锁来实现串行化操作,保证同一时刻只有一个线程进行访问。
- Java 中有哪些锁?
- synchronized 、 Lock、CAS 乐观锁。
- 用过 reentrantLock 嘛?
- 用过,它是一个可重入锁。
- 他和 synchronized 的主要差别在哪里?
- 主要差别在可重入性。
- 可重入性是指:当一个线程已经持有这个锁时,在持有锁的期间能否再次请求这个锁?可重入性是可以再次请求的。
- reentrantLock 具备可重入性,是可重入锁。
- 那 reentrantLock 的使用场景是什么?
- 公平锁和超时。
- 结合一个例子说一下。
- 公平和不公平主要是说,获取锁的顺序和申请锁的顺序一不一样,有时候我们需要保证获取锁的顺序必须和申请的顺序是完全一致的。
- 是怎么实现可重入的?加锁是有加锁的次数的。
- 有一个栈,加锁之后会往栈里面放一个,释放锁就会从栈里面弹出来一个。
- 有没有看到它的 AQS ?
- 挺多的锁的底层用的都是这个类,主要使用一个 volatile 修饰的一个状态字段属性,和 CAS 操作。
- 我看你还刷了不少题是吗?
- 之前是在力扣上做过一点点,主要是为了练习自己的算法能力,参加一些算法比赛。
- 刷题给你带来了什么好处?
- 对常见的数据结构及其常见的用法更加了解了。
- 对思维逻辑的能力进行强化和锻炼。
- 有没有印象比较深的算法题。
- 力扣第 62 题......
- 动态规划和数学解题,一顿子编...
- 安卓这方面你了解多少?
- 安卓底层主要用的应该也是 Java 和 JS ,编程语言这块是相通的。
- 安卓的四大组件是有所了解的。
- 对于陌生的领域,比如说安卓,学习路径你会怎么规划?
- 一顿子吹牛逼...
- 后面就是唠嗑了...
- 二面面试官说了会把我往 HR 面推,但是由于我当时眼拙投的是 25 届的春招,不是实习。。。神奇的是他们也没有发现,给我面试机会就算了,一面还神奇般的过了,现在二面也是稀里糊涂的过了。但是处于大三下的我不符合 25 届实习生的要求,二面面试官说具体得看公司规定了。只能说看命了。
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
找实习从7月22号开始投,现在也总算是有offer了
5
怎么会有笨蛋从一月到现在,背了7个月的面试题,还啥都不会呢,到底背哪里去了,该怎么办
3
【入职求助贴】萌新刚入职某大厂做后端开发,目前还在试用期。最近遇到一个棘手的问题,想向大家求助一下。入职不久,leader 给我派了一个任务。跟我说是0.5天就可以解决,我刚毕业入职,做了一个星期没有做出来。实现一个收集定时成功任务的案例。听起来好像不复杂,但我自己摸索着做了一整个星期,到现在还没达到预期效果。这一周我基本是“边学边做”的状态,遇到卡点也会每天主动找 leader 沟通进度和疑问。
3
#字节内推# 实习、校招、社招均有岗位
6
看项目一定要跑通吗
2
