鹅厂java技术面试官说说常用的springmvc、springboot一些注解 springmvc,面试遇到这个鬼虽说是很正常的问题,但是还是得好好的整理下@Controller只是定义了一个控制器类@RequestMapping用来处理请求地址映射的注解是真正处理请求@Resource和@Autowiredbean的注入时使用@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需...
限流降级神器,带你解读阿里巴巴开源 Sentinel 实现原理 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。大家可能会问:Sentinel 和之前常用的熔断降级库 Netflix Hystrix 有什么异同呢?Sentinel官网有一个对比的文章,这里摘抄一个总结的表格,具体的对比可以点此 链接 查看。...
互联网、科技公司校招偏好,解读高校就业数据,应届毕业生的后宫 推荐这是一个信息泛滥的社会,但信息不等于知识,不等于文化。在繁杂的信息中,梳理出有价值的知识是这个时代最需要的能力。沉淀和提炼信息的能力,是一种强大的学习力,也是难能可贵的求知欲和行动力。前言最近,各大高校纷纷发布了毕业生的就业质量报告,其中部分高校公布了重点就业单位及数据(也有高校称之为全球五百强企业就业情况),笔者整理了27所高校的就业报告,发现BAT、网易、华为等科技公司最爱在这...
我们在开发中需要遵循的几个设计原则! 一、开发原则S:单一职责SRPO:开放封闭原则OCPL:里氏替换原则LSPI:接口隔离法则D:依赖倒置原则DIP合成/聚合复用原则迪米特法则在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则和具体阐述意义。面向对象的基本原则(solid)是五个,但是在经常被提到...
开发10年,面试300人,想进阿里的大牛总结出,java面试69题 基础题目Java线程的状态 进程和线程的区别,进程间如何通讯,线程间如何通讯 HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别 Cookie和Session的区别 索引有什么用?如何建索引? ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。 equals方法实现...
谁说数据库不适合Docker?解读MySQL DB Mesh的创造性实践 以 Docker 为代表的容器技术正在以一种不可阻挡的趋势席卷全球,但真正的落地过程依然十分坎坷。6 月 20 日北京,在 2019 企业容器创新大会上,业内首家覆盖业务全流程、运营全体系的移动信贷整体技术服务商飞贷金融科技的副总裁陈定玮分享了飞贷的数据库生产容器化及 Istio 应用的经验。基于飞贷金融科技容器化道路的实践与经验,InfoQ 记者也专访了陈定玮,并将其分享和思考整理如下。...
微服务架构之幂等性问题及设计思想,你不得不知的一些幂等方案 前言小伙伴们有没有遇到过生产环境经常出现过重复的数据?在排查问题的时候,数据又是正常的。这个是何解呢?怎么会出现这种情况,而且还很难排查问题。今天我给大家分享一下这里的原因,以及解决方案。读者福利:点击免费获取Java学习笔记,面试,文档以及视频罪魁祸首产生重复数据或数据不一致(假定程序业务代码没问题),绝大部分就是发生了重复的请求,重复请求是指同一个请求因为某些原因被多次提交...
通过IDEA快速定位和排除依赖冲突 |0前言我们程序员在开发的时候经常会遇到各种各样的 BUG 问题,其中大部分是业务逻辑异常,还有一些是代码书写不规范造成的异常例如:NullPointException(NPE),IndexOutOfBoundsException 等等,其实这些我们都好定位和修复。但是还有一些运行时异常定位起来是特别头疼的,那就是 jar 包冲突引起的异常。一般程序在运行时发生类似于java.lang....
我是技术总监,你干嘛总问我技术细节? 最近在公众号号上看到了一篇文章,读后蛮有感触的,程序员常常因为走技术还是管理两个方向而犹豫不决,希望通过以下文章的分享对大家有所思考,以下是作者原文。熟悉我的人都知道,我有位从事猎头工作的老婆,平时的工作是专为某些医疗、金融投资机构提供中、高级岗位职位人才招聘及相关咨询服务。相比之下,这项工作对业务专业性与人脉关系要求较高,经常会被行业大咖问:“这家公司你觉得怎么样?和某某公司比,你觉...
JAVA实现接口监控报警系统 公司一内部系统需要添加一个接口和定时任务监控机制,针对了系统出现的定时任务没有执行,定时任务执行异常出错,对外传送的数据接口异常出错,对内的系统数据互传异常出错等问题进行设计,目的是为了能够让用户没发现问题的时候(发现就连绵不断的投诉了),让我们开发人员先知道那个接口或任务出错了,然后快速处理掉,这种未亡羊补牢的方式,目前还取得还不错的效果。 运用到的知识点也是非常简单的,思路就是把底层的...
太厉害了,终于有人能把TCP/IP协议讲的明明白白了! 一、 计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础1. TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 ...
包装严重的IT行业,作为面试官,我是如何甄别应聘者的包装程度 一、初选如何鉴别劣质简历 二、进入面试阶段,如何甄别对方的水分在互联网极速膨胀的社会背景下,各行各业涌入互联网的IT民工日益增大。早在2016年,我司发布了Java、Ios工程师的招聘信息,就Java工程师单个岗位而言,日收简历近200份,Ios日收简历近一千份。没错,这就是当年培训机构对Ios工程师这个岗位发起的市场讨伐。而随着近几年的发展,市场供大于求现象日益严重。人员摸底成为用人...
不可不说Java“锁”事,乐观锁 VS 悲观锁,公平锁 VS 非公平锁 前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。文章篇幅较长,读完需要九分钟Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快...
百亿数据量下,掌握这些Redis技巧你就能Hold全场 一、Redis封装架构讲解实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis的基本功能;另一个类是RedisClient是Redis的客户端。Red...
2019开发者年度调查报告:java最流行,js最常用,go最有前途 编程语言相关概览JetBrains 的调查结果显示,Java 依然是最流行的主要编程语言。因为参与调查的开发者中有 50% 表示,在过去 12 个月里使用的编程语言是 Java,有 44% 表示只使用或首先使用 Java。JavaScript 则是最常用的整体编程语言,这个结果也并不意外,毕竟“能用 JavaScript 实现的,最终都会用 JavaScript 实现”,所以 JavaSc...
2019社招阿里、腾讯、蚂蚁金服Java面试真题 在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度、阿里巴巴、腾讯。而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置。能够进一线互联网公司,是大部分程序员奋斗的目标,有很多小伙伴可能因为学历望而止步,其实只要能力够,学历真的不是那么重要!今天给大家带来ATM(阿里巴巴,腾讯,蚂蚁金服)的Java面试真题,希望能帮助各位读者在奋斗的路上少走弯路。阿里巴...
Java动态追踪技术探究,从JSP到Arthas 引子在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日志。”“改代码,加日志,重新发布一次。”“怀疑是线程池的问题,重启会破坏现场。”长达几十秒的沉默之后:“据说,排查问题的最...
谁说漂亮女程序员就不能拿大厂Offer了?美团面试经历分享,值得借鉴 美团我是在网上投的简历,之前也投过一次,简历都没通过筛选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会。10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准备好网络环境。结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定下周一下午再面,可是跟hr沟通预约这一套貌似在美团并没有什么用。文末有总结面试资料分享给大家~美团技术一面20分钟...
使用 Gradle 构建 Spring-Boot 的 Docker 镜像 通常我们使用 Dockerfile 来构建项目的Docker 镜像,但是也有需求希望使用 gralde 在编译项目的时候一起把镜像给构建并上传,所以该教程讲解了使用 gradle 编写配置 Dockerfile 并生成镜像的过程。1. 添加依赖教程使用gradle-docker插件来实现,在 Gradle 的脚本里配置 dockerfile 的构建镜像功能。gradle-docker插...
死磕 java同步系列之ReentrantLock源码解析(二)——条件锁 问题(1)条件锁是什么?(2)条件锁适用于什么场景?(3)条件锁的await()是在其它线程signal()的时候唤醒的吗?简介条件锁,是指在获取锁之后发现当前业务场景自己无法处理,而需要等待某个条件的出现才可以继续处理时使用的一种锁。比如,在阻塞队列中,当队列中没有元素的时候是无法弹出一个元素的,这时候就需要阻塞在条件notEmpty上,等待其它线程往里面放入一个元素后,...