java面试题
zhan_lang
每天进步一点点
展开
-
Java架构师必备知识体系
写给一名java开发的一段话:最近公司在组织面试,并由我担任面试官,前前后后面了几天,大概有十来个人,基本都是五年以上开发经验的,我问的问题也都不是很困难,都是一些偏原理和场景解决方案。如:1. 如何设计秒杀2. 慢查询优化3. 分布式事务管理4. 常用消息中间件对比等。这些你觉得难吗?如果你是有过几年开发经验的,这些或多或少都知道一些,但是不要只能抓住一点皮毛,比如:你在回答面试官...原创 2019-03-16 20:55:10 · 3476 阅读 · 1 评论 -
Java架构师必备技能
1、Java基础技术体系掌握牢固: JVM内存分配 垃圾回收 类装载机制 JVM性能优化 反射机制 多线程 网络编程 常用数据结构和相关算法 2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式: 熟练使用UML工具以及各种流程图 经典的设计模式会手写以及熟知使用场景 ...转载 2019-03-15 12:57:32 · 2190 阅读 · 0 评论 -
Java架构师面试题——微服务Dubbo和SpringCloud架构设计、优劣势比较
本文主要围绕微服务的技术选型、通讯协议、服务依赖模式、开始模式、运行模式等几方面来综合比较Dubbo和Spring Cloud 这2种开发框架。架构师可以根据公司的技术实力并结合项目的特点来选择某个合适的微服务架构平台,以此稳妥地实施项目的微服务化改造或开发进程。 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调...转载 2019-03-15 11:47:30 · 1055 阅读 · 0 评论 -
Java架构师面试题——数据库主从同步的3种一致性方案实现,及优劣比较
数据主从同步的由来 互联网的很多业务,特别是在高并发的场景下,基本都是读远远大于写,如果数据库读和写的压力都同在一台主机上,这显然不太合理。 于是,把一台数据库主机分为单独的一台写主库(主要负责写操作),而把读的数据库压力分配给读的从库,而且读从库可以变为多台,这就是读写分离的典型场景如下: 为了进一步的降低数据库端的压力(高并发的瓶颈),这个时候也会在业务层...转载 2019-03-15 11:40:31 · 2903 阅读 · 0 评论 -
Java架构师面试题——Redis缓存和MySQL数据一致性方案详解
需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。 这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。 读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就...转载 2019-03-15 11:36:47 · 2194 阅读 · 0 评论 -
Java架构师面试题——高并发编程系列NIO、BIO、AIO的区别,及NIO的应用和框架选型
谈到并发编程就不得不提到NIO,以及相关的Java NIO框架Netty等,并且在很多面试中也经常提到NIO和AIO、同步和异步、阻塞和非阻塞等的区别。我先简短介绍下几个NIO相关的概念,然后再谈NIO重点掌握内容,以及Java NIO框架选型。 AIO、BIO、NIO的区别 IO模型主要分类: 同步(synchronous) IO和异...转载 2019-03-15 10:59:08 · 2778 阅读 · 0 评论 -
Java架构师面试题——java线程池
线程池的缘由 java中为了提高并发度,可以使用多线程共同执行,但是如果有大量线程短时间之内被创建和销毁,会占用大量的系统时间,影响系统效率。 为了解决上面的问题,java中引入了线程池,可以使创建好的线程在指定的时间内由系统统一管理,而不是在执行时创建,执行后就销毁,从而避免了频繁创建、销毁线程带来的系统开销。 线程池如何使用,以及实现原理,处理步...转载 2019-03-15 10:53:00 · 632 阅读 · 0 评论 -
Mysql常见面试题及答案
Mysql中有哪几种锁? 1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 Mysql中有哪些不同的存储引擎? 共有5种类型...转载 2019-03-15 10:46:38 · 837 阅读 · 0 评论 -
Java架构师面试题——JVM垃圾回收算法
垃圾回收算法 1.标记清除 标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。 在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。然后,在清除阶段,清除所有未被标记的对象。 适用场合: 存活对象较多的情况下比较高效 适用于年老代(即旧...转载 2019-03-15 10:37:47 · 405 阅读 · 0 评论 -
Java架构师面试题——JVM垃圾回收器
直通BAT之JVM系列 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 常见的垃圾收集器有3类: 1.新生代的收集器包括: ...转载 2019-03-15 10:34:22 · 341 阅读 · 0 评论 -
Java架构师面试题——JVM性能调优
JVM系列 直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC 会...转载 2019-03-15 10:30:53 · 43224 阅读 · 3 评论 -
java架构师常见面试题(二)
 计算机网络:1. OSI七层协议、TCP/IP四层协议2. 各层对应的网络设备(路由器、交换机、网关、网桥、集线器等等),各层对应的协议3. 数据链路层的CSMA/CD协议,笔试可能会用到4. IP地址分类,子网划分(笔试常用)5. TCP和UDP的区别6. TCP三次握手和四次挥手,为什么三次握手,为什么四次挥手...原创 2019-02-25 15:45:11 · 385 阅读 · 0 评论 -
java架构师常见面试题(一)
java架构师常见面试题(一) 一、Java基础和高级1.String类为什么是final的。2.HashMap的源码,实现原理,底层结构。3.反射中,Class.forName和classloader的区别4.session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。5.Java中的队列都有哪...原创 2019-02-25 15:23:16 · 828 阅读 · 0 评论 -
10万TPS高并发订单的支付系统架构
干货:每秒处理10万高并发订单的支付系统架构随着各类抢购的不断升级,支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为各种形式的抢购秒杀活动提供了强有力的支撑。&nbs...转载 2019-03-20 16:54:14 · 5471 阅读 · 5 评论