自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 怎么理解分布式、高并发、多线程?(含面试题和答案解析)

看到分布式、高并发、多线程这三个词的时候,很多人是不是都认为分布式=高并发=多线程?当面试官问到高并发系统可以采用哪些手段来解决,或者被问到分布式系统如何解决一致性的问题,是不是一脸懵逼?确实,在一开始接触的时候,不少人都会分布式、高并发、多线程将三者混淆,误以为所谓的分布式高并发的系统就是能同时供海量用户访问,而采用多线程手段不就是可以提供系统的并发能力吗?实际上,他们三个总是相伴而生,但侧...

2019-07-31 19:55:12 3099 2

原创 你要的Java并发面试题都在这里,20000字答案解析

1、在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别: 唯一的区别是...

2019-07-31 13:53:55 333

原创 说一个MySQL里可能90%的程序员都会遇到的坑

说一个MySQL里可能90%的程序员都会遇到的坑最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误:Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1我用的是UTF-8编码的客户端,服务器也是UTF-8编码...

2019-07-30 19:17:51 275

原创 亿级流量高并发场景下,如何解决一致性问题?

作者:魏武归心相信只要是个稍微像样点的互联网公司,或多或少都有自己的一套缓存体只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,遂笔者想在这想和大家聊一聊:如何解决一致性问题?如何保证缓存与数据库双写一致性,也是现在Java面试中面试官非常喜欢问的一个问题!一般来说,如果允许缓存可以稍微跟数据库偶尔有不一致,也就是说如果你的系统不是严格要求 缓存 ...

2019-07-30 14:12:03 915

原创 测试一下25道Spring经典面试题你会几道?循环依赖面试详解

前言先看看什么是循环依赖当一个ClassA依赖于ClassB,然后ClassB又反过来依赖ClassA,这就形成了一个循环依赖:ClassA -> ClassB -> ClassA循环依赖–>2个或以上bean 互相持有对方,最终形成闭环.Spring中循环依赖的场景:1、构造器的循环依赖。(spring也无能为力)2、setter循环依赖:field属性的循环依...

2019-07-29 19:34:13 454

原创 消息中间件面试题31道RabbitMQ+ActiveMQ+Kafka

前言文章开始前,我们先了解一下什么是消息中间件?什么是中间件?非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件。什么是消息中间件?是关注于数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式系统图示:消息中间件RabbitMQ+ActiveMQ+Kafka的对比接下来就是消息中间件面试题RabbitMQ+ActiveMQ...

2019-07-26 19:40:44 815

原创 今天我们重新聊聊JVM,为什么面试总是被问到?

聊聊JVMJVM,一个熟悉又陌生的名词,从认识Java的第一天起,我们就会听到这个名字,在参加工作的前一两年,面试的时候还会经常被问到JDK,JRE,JVM这三者的区别。JVM可以说和我们是老朋友了,但是在工作中的应用场景也许不如那些框架,但是在关键时候还是得靠它去搞定问题,俗话说得好,知己知彼,方能百战不殆,JVM作为前往高级工程师的一道坎,从这篇文章开始,我们会去逐步的分析,讲解,攻克这座...

2019-07-26 15:06:54 1401

原创 DBA大牛告诉你,如何让MySQL语句执行加速?

一打开科技类论坛,最常看到的文章主题就是MySQL性能优化了,为什么要优化呢?因为:数据库出现瓶颈,系统的吞吐量出现访问速度慢随着应用程序的运行,数据库的中的数据会越来越多,处理时间变长数据读写速度缓慢就是咱们说的“性能问题”,程序员一遇到它总是焦头烂额!今天我对MySQL优化总结了一些心得,希望在大家之后的工作中能有所有帮助!like 前导符优化like模糊查询形如’%AAA%‘...

2019-07-25 16:12:35 154

原创 天生强大的Redis是如何做实时订阅推送的

前阵子开发了公司领劵中心的项目,这个项目是以redis作为关键技术落地的。先说一下领劵中心的项目吧,这个项目就类似京东app的领劵中心,当然图是截取京东的,公司的就不截了。。。其中有一个功能叫做领劵的订阅推送。什么是领劵的订阅推送?就是用户订阅了该劵的推送,在可领取前的一分钟就要把提醒信息推送到用户的app中。本来这个订阅功能应该是消息中心那边做的,但他们说这个短时间内做不了。所以让我这个负...

2019-07-25 14:42:23 218

原创 10道面试官喜欢问的微服务面试题Spring Cloud+Spring Boot

前言为什么要使用微服务?随着互联网的快速发展,各行各业都在用互联网。互联网已经离不开人们的形形色色。随着越来越多的用户,业务场景也愈来愈复杂。传统的单体架构已经很难满足互联网技术发展的要求,代码可维护性扩展性和可读性降低,维护成本的提高都是驱动微服务的发展趋势。微服务哪些框架Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。阿里巴巴近几年对开源社区的...

2019-07-25 13:36:17 2531

原创 精心整理了15道面试官喜欢问的MyBatis面试题

1、什么是 MyBatis?答:MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。2、讲下 MyBatis 的缓存答:MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置...

2019-07-24 20:36:34 1122

原创 27道高频Spring面试题,你能答对几个?

1、什么是Spring框架,Spring框架有哪些主要模块Spring框架是一个为Java应用程序开发提供综合、广泛的基础性支持的Java平台。 Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring框架本身也是按照设计模式精心打造的,这使得我们可以在开发环境中安心地集成Spring框架,不必担心Spring是如何在后台工作的。2、使用Spring...

2019-07-24 15:04:12 362

原创 2019年美团、滴滴、蘑菇街Java岗9次面试总结

大概在三月份开始面了几家互联网公司,主要方向是java后端和大数据开发,最近整理学习资料,都快秋招了,发的有点晚了,不过还是想分享一下。美团,滴滴,蘑菇街等公司的面经。美团一面聊你最熟悉的项目和技术。项目中为什么要使用spark。spark怎么划分stage,宽窄依赖,聊源码spark提交一个作业的执行流程(单机模式)spark driver节点,worker以及master节点遇...

2019-07-24 12:50:50 758

原创 Springboot线程池服务实战分享

我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务;实战环境windowns10;jdk1.8;springboot 1.5.9.RELEASE;开发工具:IntelliJ IDEA;这里面有多个工程,本次用到的工程为threadpooldem...

2019-07-23 21:38:10 709

原创 字节跳动面试官揪着源码一直问,然后......

最近,我的一位朋友在找工作,已经拿到了美团、快手等公司的Offer,准备选择其中一家入职了。后来他又接到了字节跳动的电话,通知他去参加三面。从二面到三面之间隔了挺久的,他以为都没戏了,结果就收到了通知。由于已经拿到了很多大厂的Offer,他对这次面试还是挺有信心的。但是回来之后,表现的特别沮丧。一问之下,原来是面试官问的一些问题他回答的不好,他说面试官揪着源码一直问,但是自己并没有深入看太...

2019-07-23 17:29:29 1135 2

原创 MyBatis 中 @Param 注解的四种使用场景,最后一种经常被人忽略!

有一些小伙伴觉得 MyBatis 只有方法中存在多个参数的时候,才需要添加 @Param 注解,其实这个理解是不准确的。即使 MyBatis 方法只有一个参数,也可能会用到 @Param 注解。但是,在你总结出规律之前,你可能会觉得莫名其妙,有的时候一个参数明明不用添加 @Param 注解,有的时候,却需要添加,不添加会报错。有的人会觉得这是 MyBatis 各个版本差异的锅,不可否认,My...

2019-07-23 15:10:26 211

原创 7月精选的10道Spring Boot面试题(含答案解析)

前言到底什么是Spring Boot?为什么越来越多人使用?说起 Spring Boot 我们不得不先了解一下 Spring 这个企业,不仅因为 Spring Boot 来源于 Spirng 大家族,而且 Spring Boot 的诞生和 Sping 框架的发展息息相关。接下来给大家分享的是10道精选Spring Boot面试题1.什么是 Spring Boot?多年来,随着新功能的增加...

2019-07-22 21:31:23 453

原创 11道高频Java面试题解析(Spring+Spring MVC+MyBatis)

前言最近一直都在面试,整理了几家公司常问的三大框架面试题,现在把它带答案整理好在这里分享给大家,希望对大家有所帮助。以下为 Spring 常见面试问题1 、什么是 Spring 框架?Spring 框架有哪些主要模块?Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注...

2019-07-22 18:23:09 470

原创 大厂面试官问你知道final、finally、finalize有什么区别?

前言Java程序员面试,基础真的很重要。基础这东西,各个公司都很看重,尤其是大公司,他们看中人的潜力,他们舍得花精力去培养,所以基础是重中之重。之前很多人问我,项目经历少怎么办,那就去打牢基础,当你的基础好的发指的时候,你的其他东西都不重要了。Java 语言有很多看起来很相似,但是用途却完全不同的语言要素,这些内容往往容易成为面试官考察你知识掌握程度的切入点。今天,我要问你的是一个经典的 J...

2019-07-22 14:08:48 271

原创 Java高级面试题:分布式Session实现方案有哪些?

目录 一、面试官心理分析 二、面试题剖析 2.1 完全不用 session 2.2 tomcat + redis 2.3 spring session + redis 面试官心理分析面试官问了你一堆 dubbo 是怎么玩儿的,你会玩儿 dubbo 就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务...

2019-07-21 16:21:07 224

原创 80%的Java程序员面试大厂到倒在这道题下

大家都知道互联网寒冬来了,我们要储备足够的粮食才能过冬。我们大家都知道一线城市比二线城市更公平,更开放。大厂也是一样的,大厂有更多的包容,即便是最近的寒冬零星的大厂分别裁员,整体大厂的环境还是不错的。为什么很多Java程序员都想要投递大厂,主要一下几方面:都想追求高薪资相对小厂而言,大厂的薪资水平会更高不少。具体数字区间就不细说了,但是大厂整体会大方很多,只要你能够通过面试,30%甚至更高...

2019-07-19 20:07:38 494

原创 Java性能调优的7个实用技巧分享

随着应用的数据量不断的增加,系统的反应一般会越来越慢,这个时候我们就需要性能调优。性能调优的步骤如下:Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。Java 应用性能的瓶颈点非常多,比如磁盘、内存...

2019-07-19 15:12:34 309

原创 Java程序员面试BAT大厂,逃脱不了JVM,7月最新20道JVM面试题

很多人说JVM是不是真的要学?面试官都会问JVM的问题吗?很重要吗?的确很重要。随着互联网的发展,高并发高可用、快速响应成为软件的必须,而JVM与这些有着密切关联。我们在尽情享受Java虚拟机带来好处的同时,还应该去了解和思考“这些技术特性是如何实现的”,去了解最底层的原理。只有熟悉JVM,你才能在遇到OutOfMemory等异常时,不会束手无策,不会一脸懵逼的上网找解决办法,最后就算改了...

2019-07-18 17:33:45 272

原创 学会这4个Redis技巧,让你的Java程序快如闪电

一、Redis封装架构讲解实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis的基本功能;另一个类是RedisClient是Redis的客户端。Redis的核心...

2019-07-17 17:12:04 215

原创 分布式锁用Redis还是Zookeeper?

为什么用分布式锁?在讨论这个问题之前,我们先来看一个业务场景。为什么用分布式锁?系统 A 是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。由于系统有一定的并发,所以会预先将商品的库存保存在 Redis 中,用户下单的时候会更新 Redis 的库存。此时系统架构如下:但是这样一来会产生一个问题:假如...

2019-07-16 15:45:16 408

原创 到底什么是Spring Boot?为什么越来越多人使用?

什么是Spring Boot?Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。官方网站:http://projects.spring.io/spring-boot/GitHub源码:https://github.com/spring-projects/spr...

2019-07-15 19:02:04 874

原创 磨剑5年,从美团、百度、阿里、京东面试回来的感想(Java岗)

前言大家好,我是Java架构师追风,一个工作了11年的老程序员,曾就职于唯品会、京东电商等多家互联网公司,历任java架构师、研发经理等职位,参与并主导千万级并发电商网站与后端供应链研发体系搭建,多次参与电商大促活动技术保障,在此分享一些自己的经验。2019年5月23号办理离职手续,从此离开了万通中心,也算是和我的第二家公司正式说了再见,其实还是蛮喜欢国贸的,这是个美妙的地方,容纳着...

2019-07-12 20:49:03 320 1

原创 一个5年的程序员9次面试的经验分享

前言大家好,我是Java架构师追风,一个工作了11年的老程序员,曾就职于唯品会、京东电商等多家互联网公司,历任java架构师、研发经理等职位,参与并主导千万级并发电商网站与后端供应链研发体系搭建,多次参与电商大促活动技术保障,在此分享一些自己的经验。这个面试总结,除知识点外,其他的面试均可适用!!!非知识点1、简历要准备好,联系方式一定要正确清晰醒目,项目经历按照时间倒序阐述,注意描述自...

2019-07-12 17:27:22 1782

原创 通俗易懂的讲解分布式锁,看完肯定懂!

前言大家好,我是Java架构师追风,一个工作了11年的老程序员,曾就职于唯品会、京东电商等多家互联网公司,历任java架构师、研发经理等职位,参与并主导千万级并发电商网站与后端供应链研发体系搭建,多次参与电商大促活动技术保障,在此分享一些自己的经验。首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就...

2019-07-12 16:39:34 377

原创 年薪10W的程序员用是怎么3年时间成为年薪50W的架构师的?

前言大家好,我是Java架构师追风,一个工作了11年的老程序员,曾就职于唯品会、京东电商等多家互联网公司,历任java架构师、研发经理等职位,参与并主导千万级并发电商网站与后端供应链研发体系搭建,多次参与电商大促活动技术保障,在此分享一些自己的经验。架构师,我想很多人都知道,其实该职位头衔在最早的IT领域是没有的,它是近些年来由互联网的发展所引发的需求,因为现阶段的数据量及高并发的活跃好动...

2019-07-11 21:53:31 345

原创 3年的程序员5次面试京东总结“分布式事务”这次终于搞懂了

前言大家好,我是Java架构师追风,一个工作了11年的老程序员,曾就职于唯品会、京东电商等多家互联网公司,历任java架构师、研发经理等职位,参与并主导千万级并发电商网站与后端供应链研发体系搭建,多次参与电商大促活动技术保障,在此分享一些自己的经验。在分布式、微服务大行其道的今天,相信大家对这些名词都不会陌生。而说到使用分布式,或者拆分微服务的好处,你肯定能想到一大堆。比如每个人只需要维护...

2019-07-11 17:26:44 504

原创 程序员进BAT大厂必须要搞懂的3道Redis面试题!

前言在大数据时代,频繁地在应用和数据库之间进行读写操作在性能、速度、体验上已经远远不能满足用户、客户、开发人员的要求了,于是一种基于内存操作的数据库便应运而生。Redis 是一种基于内存的数据库,如何轻松理解并熟练操作 Redis 是一个有责任心、进取心程序员应该了解和掌握的技术。Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各...

2019-07-10 21:36:54 2143

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除