2 applehub

尚未进行身份认证

暂无相关简介

等级
TA的排名 22w+

2019阿里天猫团队Java高级工程师面试题之三轮面试

一.第一面1.五分钟自我介绍,说说自己的擅长及拿手的技术自我介绍是为了考察面试者的语言表达和总结概括能力,通常面试官希望听到如下四个方面:A 基本信息:简历上也有基本信息,口述一遍当作开场,说一下毕业学校、所学专业、获奖经历,时间控制在半分钟。B 项目经历:按照简历上的内容,按时间由远及近说说开发过的项目,运用什么技术栈,做出什么成绩,有什么收获,时间控制在两分半钟C 技术专长:说说自己...

2019-09-30 13:41:57

【并发】深入理解synchronized底层实现原理

引言我们都知道数据的同步需要加锁,在JAVA领域,最常用的是使用synchronized关键字,那么synchronized关键字在底层是如何实现同步的呢?synchronized的使用synchronized的使用方式有如下几种:synchronized 加在代码块中1public class SynchronizedDemo {23 public void add(Ob...

2019-09-30 12:01:43

40 个 Java 多线程问题总结

1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:(1)发挥多核CPU的优势随着工业的进步,现在的笔记本、台式机乃至商用的应用服务器至少...

2019-09-30 12:00:16

【JVM】 JVM的初步认识

1. 什么是JVM与JVM的初次见面,是在我们Java SE的开始,认识Java跨平台原理的时候.时隔多日,我们先来回顾一下.Java的广告语是,"编写一次,到处运行",而它凭借的就是JVM(Java Virtual Machine).而对于不同的平台,Windows,Linux,Mac OS等,有具体不同的JVM版本.这些JVM屏蔽了平台的不同,提供了统一的运行环境,让Java代码无需考...

2019-09-30 11:58:55

【反射】java反射机制的核心原理

一、java的核心机制java有两种核心机制:java虚拟机(JavaVirtual Machine)与垃圾收集机制(Garbage collection):1、Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。2、Java垃圾回收(Garbage Collection):自动释放不...

2019-09-30 11:57:29

【NIO】 I/O多路复用模型

概述当我们要编写一个echo服务器程序的时候,需要对用户从标准输入键入的交互命令做出响应。在这种情况下,服务器必须响应两个相互独立的I/O事件:1)网络客户端发起网络连接请求,2)用户在键盘上键入命令行。我们先等待哪个事件呢?没有哪个选择是理想的。如果在acceptor中等待一个连接请求,我们就不能响应输入的命令。类似地,如果在read中等待一个输入命令,我们就不能响应任何连接请求。针对这种...

2019-09-30 11:54:27

【阿里】阿里Redis面试系列详解

1.什么是redis?Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Val...

2019-09-30 11:52:32

【阿里】阿里P7面试总结

一面主要问题如下:首先自我介绍 数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题 对一个数组进行绝对值排序的算法 java中hashmap的底层实现 java中垃圾回收机制GC原理等 介绍自己的项目,数据库中用到的数据结构数据模型,死锁的概念(问的应该是数据库的死锁),如何避免死锁? 乐观锁和悲观锁? 一致性hash算法 项目中业务对象...

2019-09-30 11:51:09

【JVM】浅谈ClassLoader

ClassLoader 做什么的?顾名思义,它是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Class 对象。字节码可以来自于磁盘文件 *.class,也可以是 jar 包里的 *.class,也可以来自远程服务器提供的字节流,字节码的本质就是一个字节数组 []byte,它有特定的复杂的内部格式。有很多字节码加密技术就是依靠定制 ClassLoa...

2019-09-30 11:48:14

【注解】浅谈java注解

前言:Annotation中文释义注解之意。Java注解用于为Java代码提供元数据。元数据是指用来描述数据的数据,通俗一点,就是描述代码间关系,或者代码与其它资源(例如数据库表)之间内在联系的数据。在一些技术框架中,如Struts、hibernate就不知不觉用到了元数据。对于Struts来说,元数据指的是struts-config.xml;对hibernate来说就是hbm文件。以上阐...

2019-09-30 11:46:21

【序列化】浅谈java序列化

一、基本概念1、什么是序列化和反序列化序列化是指将Java对象转换为字节序列的过程,而反序列化则是将字节序列转换为Java对象的过程。Java对象序列化是将实现了Serializable接口的对象转换成一个字节序列,能够通过网络传输、文件存储等方式传输 ,传输过程中却不必担心数据在不同机器、不同环境下发生改变,也不必关心字节的顺序或其他任何细节,并能够在以后将这个字节序列完全恢复为原来...

2019-09-30 11:44:13

01、十大经典排序算法最强总结(含JAVA代码实现)

最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在“桶排序”算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的。所以我根据这几天看的文章,整理了一个较为完整的排序算法总结,本文中的所有算法均有JAVA实现,经本人调试无误后才发出,如有错误,请各位前...

2019-09-29 20:54:08

04、2019阿里天猫团队Java高级工程师面试题之三轮面试

一.第一面1.五分钟自我介绍,说说自己的擅长及拿手的技术自我介绍是为了考察面试者的语言表达和总结概括能力,通常面试官希望听到如下四个方面:A 基本信息:简历上也有基本信息,口述一遍当作开场,说一下毕业学校、所学专业、获奖经历,时间控制在半分钟。B 项目经历:按照简历上的内容,按时间由远及近说说开发过的项目,运用什么技术栈,做出什么成绩,有什么收获,时间控制在两分半钟C 技术专长...

2019-09-29 20:48:54

03、Java 最常见的 208 道面试题

这份面试清单是我从 2015 年做 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。虽然我从 2009 年就开始参加编程工作了,但依旧觉得还有很多东西要学,当然学习的过程也给我带来了很多成就感,这些成就感也推动我学习更多的技术知识。聊回面试题这件事,这份面试清单原本是我们公司内部使...

2019-09-29 20:47:21

【并发】synchroized在1,6中有哪些优化?

前言在 JDK 1.6 之前,synchronized 性能令人担忧,但是 1.6 之后,JVM 团队针对 synchronized 做了很多的优化,让 synchroized 在性能层面相比较 ReentrantLock 不相上下。那么,JVM 团队做了哪些优化呢?首先说,怎么才能优化?我们知道,“锁” 其实是互斥同步的具体实现,而互斥同步对性能最大的影响是阻塞的实现,挂起线程和恢复线程...

2019-09-29 20:42:41

蚂蚁金服面经(3+4)

之前面了阿里中间件的提前批,不过没走流程。同期还面了蚂蚁中间件的两轮面试,被告知不走流程就不能面了,所以也没面完。后来走了蚂蚁金服财富事业群这边的流程。前几天刚刚面完HR。正好今天分享一下面经,回馈下牛客,大家可以多交流交流哈。蚂蚁中间件(面了三次,两次一面,一次二面)蚂蚁金服中间件一号机一面:自我介绍1Java中的多线程了解么,线程池的增长策略和拒绝策略了解么,说一下...

2018-12-27 14:52:09

06、字节跳动-拓展练习

1、x 的平方根class Solution { /** * @param x: An integer * @return: The sqrt of x */ public int sqrt(int x) { // write your code here if (x < 0) { ...

2018-12-10 11:37:21

05、字节跳动-数据结构

1、最小栈public class OneHundredAndFiftyFive { //直接用ArrayList好像好一点 private int maxSize = 100; private int add = 10; private int[] nums; private int index = 0; public OneHundre...

2018-12-10 11:29:52

04、字节跳动-动态与贪心

1、买卖股票的最佳时机class Solution { public int maxProfit(int[] prices) { if (prices == null || prices.length < 1) { return 0; } int max = 0; int mi...

2018-12-10 11:21:05

03、字节跳动-链表与树

1、合并两个有序链表public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode listNode = new ListNode(0); ListNode firstNode = listNode; while (l1 != null && l2 != null) { ...

2018-12-10 11:07:47

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。