一、背景
我们日常在电商网站购物时经常会遇到一些高并发的场景,例如电商 App 上经常出现的秒杀活动、限量优惠券抢购,还有我们去哪儿网的火车票抢票系统等,这些场景有一个共同特点就是访问量激增,虽然在系统设计时会通过限流、异步、排队等方式优化,但整体的并发还是平时的数倍以上,为了避免并发问题,防止库存超卖,给用户提供一个良好的购物体验,这些系统中都会用到锁的机制。
对于单进程的并发场景,可以使用编程语言及相应的类库提供的锁,如 Java 中的 synchronized 语法以及 ReentrantLock 类等,避免并发问题。
拼多多一面
首先自我介绍
参加过哪些项目
并发编程三要素?
实现可见性的方法有哪些?
多线程的价值?
创建线程的三种方式的对比?
画出线程的状态流转图
常用的并发工具类有哪些?
CyclicBarrier 和 CountDownLatch 的区别
CAS 的问题:1、CAS 容易造成 ABA 问题2、不能保证代码块的原子性3、CAS 造成 CPU 利用率增加
ReadWriteLock 是什么
一面面试题答案:
拼多多二面
自我介绍
什么是工厂模式?
如何实现单链表的增删操作?
让我说意思JVM的分为哪几块?
由于提及到了内存溢出,面试官问我内存溢出和内存泄漏的区别?
这里问完我就去问了数据库,4大特性是啥,举个例子?
数据的隔离级别有啥,每个隔离级别举个例子?
分布式锁的实现知道到哪些?
你更推荐哪一种锁?Redis的持久化操作有哪些?
如何利用redis处理热点数据
sleep 方法和 wait 方法有什么区别?
synchronized 和 ReentrantLock 的区别
线程 B 怎么知道线程 A 修改了变量
如果你提交任务时,线程池队列已满,这时会发生什么
线程类的构造方法、静态块是被哪个线程调用的
二面面试题答案:
拼多多三面
照例自我介绍和项目介绍;
上来就让我手撕一个单例模式
让我讲了讲代码是啥啥意思?
由于我的项目中提及到JVM,所以给我出了一个场景题,垃圾会收器中,标记清除多次后,由于采用的是标记清除算法,那么你觉得可能会出现什么问题?
这里提及到了full gc,问我,哪些情况会产生full GC,哪些情况产生minor GC?
除了你项目中的内存溢出问题,你还知道哪些关于内存溢出内存泄漏的?
然后给我出了一个动态规划的手写代码题,说来写个代码吧。
三面面试答案:
拼多多HR面
自我介绍一下吧
你为什么选择拼多多?
你最大的优点和缺点是什么
谈谈你对公司加班的看法
谈谈你的朋友对你的评价是什么
平时怎么去学习的?
你遇到的比较难应付的事情?
你感觉做的比较成功的事情?
想象一下你几十年后是怎样的生活?
觉得最痛苦的一段时间
工作节奏你觉得可以接受吗?
你有什么想问的?
以上就是我拼多多面试的题目 基本上我都清晰的记录了。
最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
JVM面试专题
Java并发面试专题
Kafka面试专题
MongDB面试专题
MyBatis面试专题
MySQL面试专题
Netty面试专题
RabbitMQ面试专题
Redis面试专题
Spring Cloud面试专题
SpringBoot面试专题
zookeeper面试专题
常见面试算法题汇总专题
计算机网络基础专题
设计模式专题
本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录