0 前程有光

尚未进行身份认证

我要认证

欢迎关注我的公众号【前程有光】 专注于系统架构实战,面试干货,分享百本各类电子书资料

等级
TA的排名 4w+

2020阿里,字节跳动,JAVA岗(一线企业校招、社招)面试题合集

前言以下面试题全属于一线大厂社招以及校招的面试真题,各位在做这些题目对照自己的时候请平凡心对待,不要信心受挫。其实 做为致力于一线企业校招或者社招的你来说,能把每个知识模块的一小部分问题去深入学习和总结,已经很棒了!然后文末有我自己总结的一些答案和更多面试题的文档总结,需要可以自取!首先展示一下以下文档包含的路线图基础排序实现原理和Collection实现原理和而的区别(编译之后)线程池的种类,区别和使用场景分析线程池的实现原理和线程的调度过程线程池如何调优线程池的最大线程数目根据什么

2020-08-09 14:54:24

面试官:小伙子,你给我说一下Java中什么情况会导致内存泄漏呢?

概念内存泄露:指程序中动态分配内存给一些临时对象,但对象不会被GC回收,它始终占用内存,被分配的对象可达但已无用。即无用对象持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间浪费。可达性分析算法JVM使用可达性分析算法判断对象是否存活。GC Root通过一系列名为“GC Roots”的对象作为起点,从这些结点开始向下搜索,搜索所走过的路径称为“引用链(Reference Chain)”,当一个对象到GC Roots没有任何饮用链相连时,则证明此对象是不可用的。object4、obj

2020-08-06 13:54:56

面试半年,上个月成功拿到阿里P7offer,全靠我啃烂了这份2020最新面试题!

前言最近收到很多粉丝的私信,有工作几年的,也有即将面临毕业的学生党。都是来跟我说金九银十马上到了,自己想去冲击面试一波大厂,问我有没有相关的面试题分享。听到后我也是赶紧为大家整理了一份,话不多说满满的干货都在下面了,友情提示,文章篇幅齐全,全是干货慢慢观看!!!Redis什么是Redis?Redis的数据类型?使用Redis有哪些好处?Redis相比Memcached有哪些优势?Memcache与Redis的区别都有哪些?Redis是单进程单线程的?一个字符串类型的值能存储最大容量是多少

2020-07-20 14:15:24

2020最新金九银十BAT面试核心知识点整理,靠它我拿到了阿里,字节跳动的offer

前言我自己是本科毕业后在老东家干了两年多,老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找坑的时候是非常非常虚的。迫于心慌,我好好思考了一阵来给自己打气,当时真正找坑和准备面试的过程大概分为这几个阶段:面试准备反思:自己是不是真的要离职,假如不离职,在老东家接下来应该做什么才能继续提升?定位:我在硬性技能(编码、架构)上的长处在哪?我在软技能(沟通,团队)上的长处在哪?这步顺带写了简历寻找平台:哪些平台能同时

2020-08-05 19:28:18

java面试必问:多线程的实现和同步机制,一文帮你搞定多线程编程

前言进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。多线程的实现继承Thread类创建一个类,这个类需要继承Thread类重写Thread类的run方法(run方法中是业务代码)实例化

2020-08-05 14:17:09

厉害啊!第一次见到把Shiro运行流程写的这么清楚的,建议收藏起来慢慢看

前言shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻量框架,越来越多企业项目开始使用shiro。Shiro运行流程学习笔记项目中使用到了shiro,所以对shiro做一些比较深的了解。也

2020-08-04 20:36:22

给力啊!这篇Spring Bean的依赖注入方式笔记总结真的到位,没见过写的这么细的

1. Bean的依赖注入概念依赖注入(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现。在编写程序时,通过控制反转,把对象的创建交给了 Spring,但是代码中不可能出现没有依赖的情况。IOC 解耦只是降低他们的依赖关系,但不会消除。例如:业务层仍会调用持久层的方法。那这种业务层和持久层的依赖关系,在使用 Spring 之后,就让 Spring 来维护了。简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取。2. Bean的依赖注入方式(1)s

2020-08-04 14:30:10

阿里四面P7稳了,得亏我会这些Spring面试题,果然大厂都爱问它们

前言先说一下本人情况吧,末流985毕业,毕业之后一直在一家不大不小的公司里安稳上班。上半年因为疫情的原因公司调整了工资,我也是随波逐流跟随大家辞了职。辞职之后向阿里。字节这些都投了简历(但是只收到了阿里的回复)。一路居然惊险但也是成功斩下offer,问的都是最近两年新出的面试频度较高的面试题!,现在我把我所学的分享给大家!作为一名Java方向的程序员,在面试大厂的时候,其实关于spring这一块是问的非常多的,尤其是源码这一块,几乎是逢面试必问,虽然说现在技术更新比较快,但是掌握好spring以及它的

2020-08-03 20:59:40

面试阿里,美团,京东都会被问到的Spring ,从基础到源码帮你全搞定

1 前言Spring是一个轻量级开源框架,它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring是众多优秀设计模式的组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业级开发,俗称

2020-08-03 13:59:26

兄弟萌,这份SpringMVC框架学习笔记真的建议反复看,写的太细了

概述是Spring为展现层提供的基于MVC设计理念的Web框架,通过一套MVC注解,让POJO成为处理请求的控制器,而无需实现任何接口支持REST风格的URL请求采用松散耦合的可插拔组件结构,比其他MVC框架更具扩展性和灵活性SpringMVC的IOC容器是Spring的IOC容器的子容器,故而可引用Spring的IOC中的bean,反之则不行运行流程当前端发出请求时,首先进入到DispatcherServlet(中央控制器),把请求的地址传给HandlerMapping处理器映射器中进行

2020-08-02 19:50:35

这几种实现线程的方法你一定要知道,月薪20k以上的面试都会问到

实现线程的三种方式总结最近有看到Java线程的实现相关问题,在此对线程实现方式做一个小小的总结,当做笔记,便于日后查看。平时常用的线程方式有三种:(1)、继承Thread类,并重写其run()方法。(2)、实现Runnable接口,并实现其run()方法。(3)、实现Callable接口,并实现其call()方法。一、继承Thread类Thread 类中创建线程最重要的两个方法为: public void start(); public void run();采用 Thread 类创建

2020-08-02 14:39:26

真的可惜,四面阿里,结果我被JVM垃圾回收机制与 OOM异常卡住了

前言为什么需要垃圾回收首先我们来聊聊为什么会需要垃圾回收,假设我们不进行垃圾回收会造成什么后果,我们举一个简单的例子我们住在一个房子里面,我们每天都在里面生活,然后垃圾都丢在房子里面,又不打扫,最后房子都是垃圾 我们是不是就没法住下去了。所以JVM垃圾回收机制也是一样的,当我们创建的对象占据堆空间要满了的的时候我们就对他进行垃圾回收,注意java的垃圾回收是不定时的,c语言的是需要去调用垃圾回收方法刚刚也说到 上面举的例子也说到 假设一个房子都被垃圾堆满了 那么我们没法住人了 那么我们是不是会告

2020-07-31 20:15:36

面试官:你说你精通源码,那你知道ArrayList 源码的设计思路吗?

Arraylist源码分析ArrayList 我们几乎每天都会使用到,但是通常情况下我们只是知道如何去使用,至于其内部是怎么实现的我们不关心,但是有些时候面试官就喜欢问与ArrayList 的源码相关的问题,今天我们就来看看和ArrayList 源码相关的问题。一:整体架构1.1、ArrayList 结构ArrayList 整体架构比较简单,就是一个数组结构,比较简单,如下图:图中展示是长度为 n 的数组,index 表示数组的下标,从 0 开始计数,elementData 表示数组本身,源码中

2020-07-31 14:22:41

这份java多线程笔记,你真得好好看看,我还没见过总结的这么全面的

1.线程,进程和多线程1.程序:指指令和数据的有序集合,其本身没有任何意义,是一个静态的概念2.进程:指执行程序的一次执行过程,是一个动态的概念。是系统资源分配的单位(注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。即在一个cpu的情况下,在同一时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错觉)3.线程:通常一个进程中可以包含若干个线程,一个进程中至少有一个线程。线程是cpu调度和执行的单位4.并行:指在同一时刻,有多条指令在多个处理器上同时执行。

2020-07-30 20:12:09

看看吧!月薪20K以上的程序员才能全部掌握RabbitMq知识,你掌握了多少

一、RabbitMq基础知识0、概述消息队列的作用就是接收消息生产者的消息,然后将消息发送到消费者1、信道channel我的理解是生产者/消费者和rabbitmq交互的一个通道,负责交换机、队列管理;消息发布和消费管理;事务管理等2、交换机四种交换机:direct:可以用一个或者多个key绑定到一个或者多个队列上topic:支持路由的适配符 # *Fanout广播:将消息发送给所有的队列Header头交换机:自定义通过头消息属性来定义路由的匹配3、队列:保存消息的队列4、消费者:消息

2020-07-30 13:45:42

教了公司新来的小姐姐这七种排序算法以及实现,她一脸崇拜的看着我

前言最近学习一些排序算法,怕自己以后忘记就打算整理起来供自己复习如有错误希望大佬指正,欢迎大家在评论区交流探讨。1.冒泡排序通过待排序的序列从前往后依次比较相邻的元素,若发现逆序则两两交换,直到下一趟排序下来没有进行交换,说明排序完成冒泡排序每一趟会确定一个最大值(默认从小到大)import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { int

2020-07-29 20:28:45

历时两年零三个月,从刚毕业的外包到现在的阿里P7offer,我只做了这几件事

前言最近,金九银十在即,很多人都在准备面试,特别给大家总结了 Java 程序员面试必备题,这份面试清单是我从 去年开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。下文主要是我个人的总结方法经验(面试学习和刷题笔记),都整理有PDF完整版,有需要的可以看文末有领取方式面试题模块介绍说了这么多,直奔主题,我们这份面试题,总内容包含了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常

2020-07-29 16:54:13

深度分享:面试阿里,字节跳动,美团90%会被问到的HashMap知识

一,HashTable哈希表,它相比于hashMap结构简单点,它没有涉及红黑树,直接使用链表的方式解决哈希冲突。我们看它的字段,和hashMap差不多,使用table存放元素private transient Entry<?,?>[] table;private transient int count;private int threshold;private float loadFactor;private transient int modCount = 0;它没有常量字

2020-07-29 15:14:08

这些Servlet知识你一定要知道,金九银十大厂面试官都爱问

前言Servlet是服务器端的Java应用程序,可以生产动态Web页面。透过JSP执行过程可以知道JSP最终被编译成一个.class文件,查看该文件对应的Java类,发现该Java类继承自org.apache.jasper.runtime.HttpJspBase类,而HttpJspBase继承自HttpServlet类,由此可知JSP第一次运行时实质上是被JSP引擎翻译成了一个Servlet,然后再编译,最后再执行。自定义Servlet类继 承HttpServlet抽象类,HttpServlet抽象类继

2020-07-28 20:58:45

【建议收藏】一份阿里大牛花了三天整理出来的XML学习笔记,写的非常详细

1. 什么是XML?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准2. 为什么使用XML?我们没有XML这种语言之前,我们使用的是String作为两个程序之间的通讯!现在问题就来了,如果我们传输的是带有关系型结构的数据,String怎么表达呢?String对关系型数据

2020-07-28 14:02:07

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)