![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试风云
文章平均质量分 65
允文
喜爱编码
展开
-
【无标题】
ConcurrentHashMap的实现原理与使用文章目录ConcurrentHashMap的实现原理与使用前言一、Concurrent HashMap的结构二、初始化1.初始化segments数组2.初始化segmentShift和segmentMask3.初始化每个segment总结前言在并发编程中使用HashMap可能导致程序死循环。在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。而使用线程安全的HashTab原创 2021-12-06 21:52:45 · 517 阅读 · 0 评论 -
【无标题】
北京百度Java中级面试springBeanFactory 和 ApplicationContext 有什么区别BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义,以便在接收到客户端请求时将对应的 bean 实例化。BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean 客户端的配置中解放出来。BeanFactory 还包含了 bean 生命周期的控制,调用客户端的初始化方法(initia原创 2021-11-27 21:52:44 · 199 阅读 · 0 评论 -
【无标题】
记阿里巴巴P6的一次面试文章目录记阿里巴巴P6的一次面试前言面试题目1.自我介绍2.项目情况3.基础模块考察4.算法题前言面试简单,说深很难。面试题目1.自我介绍2.项目情况1> 选择最为熟悉的一到两个项目说明,提及该项目中的难点问题,以及如何针对该项目的开展2> 为什么做这个项目(避免被动安排这个话题)3> 解释项目中遇到的难点是如何攻克,最难的点是什么。3.基础模块考察1> 模块化的好处2> http协议3> HashMap和Concur原创 2021-11-25 23:38:25 · 160 阅读 · 0 评论 -
【无标题】
阿里巴巴泛集团P6,P7Java面试(二)文章目录阿里巴巴泛集团P6,P7Java面试(二)前言前言时间的格式化方法定时器用什么做的线程如何退出结束java 有哪些锁?乐观锁 悲观锁 synchronized 可重入锁 读写锁,用过 reentrantlock 吗?reentrantlock 与 synmchronized 的区别ThreadLocal 的使用场景java 的内存模型,垃圾回收机制为什么线程执行要调用 start 而不是直接 run(直接 run,跟普通方法没什么区别,原创 2021-11-20 16:19:28 · 292 阅读 · 0 评论 -
【无标题】
阿里巴巴泛集团P6,P7Java面试(一)文章目录阿里巴巴泛集团P6,P7Java面试(一)前言前言junit 用法,before,beforeClass,after, afterClass 的执行顺序分布式锁nginx 的请求转发算法,如何配置根据权重转发用 hashmap 实现 redis 有什么问题(死锁,死循环,可用 ConcurrentHashmap)线程的状态线程的阻塞的方式sleep 和 wait 的区别hashmap 的底层实现一万个人抢 100 个红包,如何实现(原创 2021-11-20 16:15:30 · 1933 阅读 · 0 评论 -
【无标题】
如何保证单机保证3w tps 访问量文章目录如何保证单机保证3w tps 访问量前言一、从IO,并行,空间角度二、从请求合并,异步角度总结前言这个问题是个开放性问题,我个人觉得这个问题禁不住去思考,只要一思考,慢慢都会有些思路。一、从IO,并行,空间角度容器比如tomcat的最大并发量也就几千,但是IO大有可为,IO模型使用NOI,能够处理小数据大并发的请求,然后从代码优化上说要尽量并行处理逻辑,以及优化JVM,调整堆大小,减少FullGC,使停顿时间减少,最终使每个请求的处理时间减少。二、原创 2021-11-20 14:57:19 · 214 阅读 · 0 评论 -
【无标题】
阿里巴巴校招面试集锦文章目录阿里巴巴校招面试集锦前言面试总结Java基础TCP和UDP的区别,TCP为什么是三次握手ArrayList和LinkedList的区别和应用场景Collection集合接口和Map接口的区别Java中异常的分类怎么给List排序Java虚拟机的生命周期及体系结构JVM是如何判定两个 Java 类是相同的类似-Xms、-Xmn这些参数的含义sleep( ) 和 wait( n)、wait( ) 的区别synchronized 关键字ThreadLocal(线程局部变量)框架dub原创 2021-11-20 12:09:19 · 190 阅读 · 0 评论 -
【无标题】
互联网大厂分布式消息队列面试文章目录互联网大厂分布式消息队列面试前言一、消息队列应用场景1.异步处理2.应用解耦3.流量削锋4.日志处理二、应用场景1.消息通讯2.JMS 消息服务消息模型消息消费编程模型三、 消息队列天团1 Kafka2 RabbitMQ3 ZeroMQ4 ActiveMQ5 Jafka6 MSMQ7 Redis总结前言消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。原创 2021-11-20 11:39:16 · 93 阅读 · 0 评论 -
2021-11-15
字节跳动,阿里巴巴,美团架构设计细则文章目录字节跳动,阿里巴巴,美团架构设计细则前言一、分布式技术栈分布式全局ID策略二、接口幂等性原则三、缓存管理和监控四、异步处理五、流量削峰与资源加锁六、分库分表与事务七、消息系统组件选型微服务架构数据存储八、自动化部署蓝绿部署滚动发布Jenkins集成Docker容器K8S容器管理总结前言现在字节跳动,阿里巴巴,美团架构设计追求集约化,我们来了解一下功能模块集约化的架构。一、分布式技术栈分布式全局ID策略雪花算法生成分布式ID,Twitter公司开源的原创 2021-11-16 19:07:18 · 885 阅读 · 0 评论 -
2021-11-15
小红书Java 面试文章目录小红书Java 面试面试内容1 自我介绍2 Java 基础static 关键字是用来干什么的,static 修饰的方法里面可以使用非静态的成员变量吗,为什么呢private 修饰的方法是否可以被子类覆盖,覆盖和重载有什么区别进程跟线程的区别Java 中创建线程有几种方式 ,线程有那些状态,线程被中断跟被阻塞有什么区别什么是死锁,JVM 的场景下怎么去发现死锁Java 中有哪些集合类如何权衡使用有序数组还是无序数组Java 垃圾回收的目的是啥,程序中把一个对象的引用直接置为 nu原创 2021-11-15 23:23:54 · 661 阅读 · 0 评论 -
2021-11-14
大厂出品:Java面试大全文章目录大厂出品:Java面试大全前言一、面试大全JavaOOPJava 集合/泛型Java 异常Java 中的 IO 与 NIOJava 反射Java 序列化多线程 &并发JVMMysqlRedisMemcachedMongoDBSpringSpring BootSpring CloudRabbitMQDubboMyBatisZooKeeper数据结构ElasticsearchKafka微服务Linux二、项目经验高并发系统秒杀架构设计秒杀系统时应该注意的 5 个架构原原创 2021-11-14 19:15:38 · 206 阅读 · 0 评论 -
2021-11-14
阿里巴巴:JVM面试文章目录前言一、JVM基础JVM的整体结构1、类加载器2、运行时数据区3、执行引擎JVM生命周期HotSpot虚拟机二、类加载机制1.类加载加载过程1.加载阶段类加载器2、连接阶段验证准备解析3、初始化阶段2.机制策略双亲委派模式沙箱安全机制三、运行时数据区内存与线程内存空间元数据空间堆空间虚拟机栈程序计数器本地方法栈四、垃圾回收垃圾对象标记1、引用计数法2、可达性分析算法垃圾回收机制1、标记清除算法2、标记整理算法3、复制算法4、分代收集算法前言虚拟机(Virtual Mach原创 2021-11-14 14:37:51 · 373 阅读 · 0 评论 -
2021-11-13
互联网大厂面试文章目录互联网大厂面试前言一、大厂面什么?二、面试详解1.技术考点1.基本功底(Java 基础+算法+数据结构)2.常用技术(Spring 系列+Mybatis+JPA+Redis+MQ+Mysql+ZooKeeper+Docker+k8s 等)3.技术深度(JVM 原理+多线程+中间件+分布式缓存+框架+源码等)4.技术经验(高并发+分布式架构设计+Mysql 数据库性能优化+设计模式+微服务等)2.项目经验商城项目: 微服务+分布式架构设计+高并发场景应对方案+分布式事务场景策略+分布式原创 2021-11-13 11:53:59 · 403 阅读 · 0 评论 -
2021-11-10
6道经典MySQL面试题前言MySQL面试题现在基本是所有公司面试的“必考点”,其中这6道更是命中神话。1.drop,delete与truncate的区别truncate会清除表数据并重置id从1开始,delete就只删除记录,drop可以用来删除表或数据库并且将表所占用的空间全部释放truncate和delete只删除数据不删除表的结构。drop语句将删除表的结构被依赖的约(constrain),触发器(trigger),依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。速度上原创 2021-11-11 00:05:22 · 358 阅读 · 0 评论 -
2021-11-08
java怎样将读取数据写入数据库文章目录java怎样将读取数据写入数据库前言一、application.yml中配置jdbc二、加载JDBC驱动程序三、提供JDBC连接的URL四、创建数据库的连接五、创建一个Statement六、执行SQL语句七、处理结果八、关闭JDBC对象总结前言作为Java程序员,使用jdbc连接数据库操作是我们经常会遇到的,这个操作是一个流程,我们一起来分析分析。一、application.yml中配置jdbcserver: #项目端口号 port: 8066原创 2021-11-08 19:13:19 · 329 阅读 · 0 评论 -
2021-11-07
VO(视图模型) 与 DTO(数据传输对象)文章目录VO(视图模型) 与 DTO(数据传输对象)前言一、DTO二、MapStruct前言VO(View Object):VO是显示视图模型,视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。举例:展示层将DTO传送过来男性显示成帅哥(客户端1),或者显示成靓仔(客户端2);将帅哥或者靓仔,转换成男性,以DTO形式请求服务端。DTO(Data Transfer Object):DTO是传输模型,数据传输对象,在这里泛指用于展示原创 2021-11-07 22:03:20 · 82 阅读 · 0 评论 -
2021-11-07
面试微软才知道“人才需求”文章目录面试微软才知道“人才需求”前言一、面试流程1.Design File System2.Reverse Integer总结前言一次面试微软的经历让我了解了微软面试想要的程序员是怎么样的?一、面试流程1.Design File System在开始之前询问如下问题:*Input/ output 类型是否所有的input 都是valid path支持的方法 *首先抛出使用hashmap。面试官表示这能work。在交流过程中双方尽量做到描述的英语as naiv原创 2021-11-07 20:26:05 · 63 阅读 · 0 评论 -
2021-11-07
阿里五面,终不能成文章目录阿里五面,终不能成前言面试题目选优面试总结前言经常面试阿里和旗下子公司,和大家分享一下面试经历。面试题目选优1.缓存穿透,设计一个防止缓存穿透的解决方案,简单的就是存null值,但肯定会深究,可以结合布隆过滤器2.设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如一致性hash算法,怎么调用?比如dubbo直连、等等细节会边说边问。3.限流,设计一个侵入性最小的限流服务。4.项目中碰到的问题,建议说框架本身问题,能提现个人能力,也避免问题太低级。5原创 2021-11-07 19:45:22 · 100 阅读 · 0 评论 -
2021-11-07
Kafka 设计思路文章目录Kafka 设计思路前言一、文件系统的持久化与数据传输效率二、生产者与消费者读取消息推送模式读取消息拉取模式三、副本机制和容错处理四、基础架构与流程前言当我们设计Kafka时,我们需要考虑以下几个问题:1.如何利用操作系统的优化技术来高效地持久化日志文件和加快数据传输效率?2.Kafka 生产者如何批量地发送消息,消费者采用拉取模型带来的优点都有哪些?3.Kafka的副本机制如何运作,当故障发生时,怎么确保数据不会丢失?一、文件系统的持久化与数据传输效率人们普原创 2021-11-07 15:21:06 · 72 阅读 · 0 评论 -
2021-11-05
创建线程池之路文章目录创建线程池之路前言一、Executors二、推荐方式1.设置参数2.使用ThreadFactoryBuilder总结前言很多互联网面试都会将线程池作为“必问试题”,很多人会关注常用的线程池,线程池的参数,创建流程等等,但是很少人会更细节地谈论创建线程池的方式,以及创建线程池方式的优劣,今天将详细分析两种创建线程池方式以及这两种方式的优劣。一、ExecutorsExecutors 是一个 Java 中的工具类。提供工厂方法来创建不同类型的线程池。从图中也可以看出,Exe原创 2021-11-05 17:30:00 · 78 阅读 · 0 评论 -
2021-11-04
再聊微服务架构文章目录再聊微服务架构前言一、总体架构二、常见概念1.服务治理2.服务调用3.服务网关4.服务容错5. 链路追踪三、解决方案1.SpringCloud2.SpringCloud Alibaba四、SpringCloud Alibaba1.主要功能2.组件总结前言我们使用微服务架构时会经常问自己以下这些问题,如果我们能够回答下面这些问题,这个微服务架构我们就能很好地去领悟,去构建。这么多小服务,他们之间如何通讯?(restful rpc)这么多小服务,客户端怎么访问他们?(网关)这原创 2021-11-04 20:38:40 · 84 阅读 · 0 评论 -
2021-11-04
再叙架构的发展之路文章目录再叙架构的发展之路前言一、单体应用架构二、垂直应用架构三、分布式架构四、SOA架构五、 微服务架构总结前言随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。大部分互联网公司使用分布式架构和微服务架构,这类架构的最大好处就是扩展性强,模原创 2021-11-04 20:06:36 · 74 阅读 · 0 评论 -
2021-11-03
Spring Boot面试题总结:开卷有益文章目录Spring Boot面试题总结:开卷有益面试总结Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?SpringBoot Starter的工作原理运行 Spring Boot 有哪几种方式?Spring Boot 中如何解决跨域问题 ?如何使用 Spring Boot 实现全局异常处理?Spring Boot 中如何实现定时任务 ?面试总结Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?启动类上面的注解是@Sp原创 2021-11-03 23:47:10 · 72 阅读 · 0 评论 -
2021-11-02
初识Elasticsearch文章目录初识Elasticsearch前言一、ES基本架构二、实际运用关于架构:关于调优:关于Elasticsearch 搜索过程关于 Master 选举前言随着企业对就近实时搜索的迫切需求,Elasticsearch 受到越来越多的关注,无论是阿里等互联网企业,还是华为等互联网+企业都对 Elasticsearch 有广泛的使用,但是目前开源版本的 Elasticsearch 在集群管控方面能力有限。一、ES基本架构1> 集群和节点一个es集群是由一个或原创 2021-11-02 23:24:04 · 70 阅读 · 0 评论 -
2021-10-29
Linux 系统运行变慢排查之路文章目录Linux 系统运行变慢排查之路前言一、检查CPU二、服务与空间1.检查启动的服务2.利用 free 命令来检查闲置内存空间总结前言当我们在Linux系统上部署项目,启动项目,会发现运行一段时间后,系统整体变慢,这是什么原因呢?首先判断到底是哪个正在运行的进程消耗过大、还有CPU 运行状态、内存运行是否过载、交换内存区是否已满、以及硬盘是否运行正常等相关因素。这些都是我们需要关心的地方,也是我们排查系统的思路。一、检查CPU我们可以执行命令 cat /p原创 2021-10-29 16:01:53 · 64 阅读 · 0 评论 -
2021-10-28
HTTP详解文章目录HTTP详解前言一、HTTP原理二、HTTP报文1.请求报文2.响应报文三、HTTP VS HTTPS四、HTTP 1.1VS HTTP 2.0总结前言关于网络分层,我个人比较喜欢的就是TCP/IP协议,TCP/IP协议更符合大家的认知,今天我们就来研究一下顶层—应用层的一个重要协议HTTP协议,HTTP协议支持万维网应用,是超文本传输协议的缩写。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。这也就意味着设计HTTP最初的目的是为了提供一种发布和接收HT原创 2021-10-28 17:24:05 · 648 阅读 · 0 评论 -
2021-10-28
Spring Boot 启动文章目录Spring Boot 启动前言一、入口程序二、注解@SpringBootApplication总结前言@SpringBootApplication 注解是 Spring Boot 最核心、最基础的注解。加在类上,表示这个类是一个配置类,该类声明一个或多个 @Bean 方法,并且还触发自动配置和组件扫描。等效于@Configuration @EnableAutoConfiguration 和 @ComponentScan 三个注解。一、入口程序@Sprin原创 2021-10-28 15:52:49 · 67 阅读 · 0 评论 -
2021-10-20
Netty系列(一)文章目录前言一、NIO是什么?二、Netty总结前言Netty 是一个 基于 NIO 的 client-server(客户端服务器)框架,使用它可以快速简单地开发网络应用程序。极大地简化并优化了 TCP 和 UDP 套接字服务器等网络编程,并且性能以及安全性等很多方面甚至都要更好。而且支持多种协议 如 FTP,SMTP,HTTP 以及各种二进制和基于文本的传统协议。其实这上面的都是套话,我们要明确的其实就是三点:1.Netty根本上是NIO。2.外在是客户端–服务器框架。3原创 2021-10-20 17:41:07 · 66 阅读 · 0 评论 -
2021-10-19
MongoDB系列(三)文章目录MongoDB系列(三)前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):i原创 2021-10-19 20:09:41 · 47 阅读 · 0 评论 -
2021-10-19
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...原创 2021-10-19 19:50:50 · 72 阅读 · 0 评论 -
2021-10-19
MongoDB系列(二)文章目录MongoDB系列(二)前言一、连接服务二、数据库操作1.创建数据库2.删除数据库总结前言使用 MongoDB shell 来连接 Mongodb 服务,作为标准化的连接方式,我们是必须要了解的。然后关于数据库的操作,我们需要进一步去挖掘,我们不应该只满足现状。一、连接服务连接规范实例mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[databas原创 2021-10-19 14:35:43 · 56 阅读 · 0 评论 -
2021-10-18
redis面试题集锦(一)文章目录前言redis单机会有瓶颈,如何解决?Redis是怎么进行持久化的?redis持久化优缺点哨兵组件的主要功能redis主从之间的数据怎么同步的么?数据传输断网了或者服务器挂了怎么办?redis内存淘汰机制?redis之手写LRU Cache前言Redis采用的是基于内存的采用的是单进程单线程模型的 KV 数据库,由C语言编写,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。它的,数据存在内存中原创 2021-10-18 23:36:14 · 60 阅读 · 0 评论 -
2021-10-12
对标阿里p7—百万年薪面试题(一)文章目录对标阿里p7---百万年薪面试题(一)面试面试1.SpringBoot自动装配核心原理分析系列掌握SpringBoot项目启动的本质掌握SpringBoot自动装配的核心原理具备手写Starter的能力2.海量数据下JVM的性能调优实战阿里面试必问的垃圾收集算法CMS与G1最佳调优实战吞吐量与停顿时间该如何选择如何根据项目选择最合适的垃圾收集器海量并发来临时,我们该如何进行调优使用JVM命令进行性能调优...原创 2021-10-12 20:12:35 · 44 阅读 · 0 评论