java秒杀系统面试题,醍醐灌顶!

Posted 专业教学分布式

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java秒杀系统面试题,醍醐灌顶!相关的知识,希望对你有一定的参考价值。

对于面试大厂的朋友,一些建议

阿里

阿里面试官一般都是P7/P8岗,对标到普通互联网公司相当于就是技术专家那种类型!他们对于没有经验的毕业生面试问的比较浅一点,大多数问题问的集合、锁、JVM调优,线程池、spring方面也会问源码、然后是分库分表、mysql、redis都会问点,

1—3年工作经验的,70%看项目还是从实战项目来问,一般会问的比较深,想去阿里的朋友要做好准备,如秒杀系统项目一定准备好20%问微服务、高并发。高扩展、高可用问题,这些你也应该准备好,10%问基础,像spring原理、Java内存区域是一定要知道

网易

网易的面试官,对基础很看重,然后问的也是实战项目。基本上万变不离核心思想。

海康威视

海康威视的面试官跟网易的面试官差不多,也喜欢问基础幸好我花了2个月的时间打好Java基础

那么如果你前几年跟我一样都在Curd,没进行过系统的学习,想弥补这前 5 年的技术成长该怎么补救

手册包含了Java、集合、多线程并发、反射、锁、Spring、SpringMVC、SpringBoot、JPA、Mybaits、微服务、Netty、RPC、网络、日志、消息队列、MySQL、Redis、设计模式、负载均衡、一次性算法、数据结构、Docker

image

image

image

image

1,Java集合(部分内容)

接口继承关系与实现

List

  • ArrayList:数组
  • Vector:数组实现、线程同步
  • LinkList:链表

Set

  • HashSet:hash表
  • TreeSet:二叉树
  • Linkhashset

Map

  • Java实现

线程安全

可排序

记录插入排序

image

2,Java多线程并发(部分内容)

线程实现/创造方式

4种线性池

  • newCachedThreadPool
  • newFixedThreadPool
  • newScheduledThreadPool
  • newSingleThreadExecutor

线程生命周期(状态)

  • 新建状态
  • 就绪状态
  • 运行状态
  • 阻塞状态
  • 线程死亡

终止线程4种方式

  • 正常运行结束
  • 使用退出标志退出线程
  • Interrupt方法结束线程
  • stop方法终止线程(线程不安全)

image

3,Java锁(部分内容)

  • 乐观说
  • 悲观锁
  • 自旋锁
  • Synchronized同步锁
  • ReentrantLock
  • 可重入锁(递归锁)
  • 公平锁与非公平锁
  • ReadWriteLock读写锁
  • 共享锁和独占锁
  • 重量级锁/轻量级锁
  • 锁优化

image

4,Spring(部分内容)

Spring特点

  • 轻量级
  • 控制反转
  • 面向切面
  • 容器

Spring常用模块

Spring主要包

Spring常用注解

Spring第三方结合

SpringIOC

  • Spring容器高层视图
  • IOC容器实现
  • SpringBean作用域
  • SpringBean生命周期

Spring 依赖注入四种方式

AOP 两种代理方式

image

image

image

微服务(部分内容)

image

Netty/RPC(部分内容)

image

网络(部分内容)

image

日志(部分内容)

image

消息中间接(部分内容)

总目录展示

该笔记共八个节点(由浅入深),分为三大模块。

高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。该笔记将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这4个方面重点介绍。

一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,将用一个节点来专门讲解如何设计秒杀减库存方案。

高可用。 虽然介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,还要设计一个PlanB来兜底,以便在最坏情况发生时仍然能够从容应对。笔记的最后,将带你思考可以从哪些环节来设计兜底方案。


篇幅有限,无法一个模块一个模块详细的展示(这些要点都收集在了这份《高并发秒杀顶级教程》里),觉得有需要的码友们,麻烦各位转发一下(可以帮助更多的人看到哟!)点这里,即可获得免费下载的方式!!

由于内容太多,这里只截取部分的内容。需要这份《高并发秒杀顶级教程》的小伙伴,麻烦各位帮忙点赞分享支持一下(可以帮助更多的人看到哟!)
p204888/java-p7)

[外链图片转存中…(img-ZhifHrkR-1626032569446)]

[外链图片转存中…(img-fi11G0yq-1626032569446)]

由于内容太多,这里只截取部分的内容。需要这份《高并发秒杀顶级教程》的小伙伴,麻烦各位帮忙点赞分享支持一下(可以帮助更多的人看到哟!)

以上是关于java秒杀系统面试题,醍醐灌顶!的主要内容,如果未能解决你的问题,请参考以下文章

经典面试题,如何设计一个秒杀系统

秒杀系统面试题,这样回答你就赢了

Java岗大厂面试百日冲刺Day50— 秒杀系统2 (日积月累,每日三题)

Java岗大厂面试百日冲刺Day50— 秒杀系统2 (日积月累,每日三题)

Redis大厂面试题:双十一秒杀系统后端Redis高并发架构实战

阿里Java三面视频解析:Redis+秒杀+微服务+分库分表+sql优化等