写点什么

2021Java 不死我不倒,细数 Java 开发者的艰辛历程

发布于: 7 小时前

二、回顾整理阿里面试题

基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。



  • 自我介绍

  • JVM 如何加载一个类的过程,双亲委派模型中有哪些方法?

  • HashMap 如何实现的?

  • HashMap 和 ConcurrentHashMap 区别, Concurrent HashMap 线程安全 hashtable 吗, ConcurrentHashMap 如何保证 线程安全?

  • HashMap 和 HashTable 区别,HashTable 线程安全吗?

  • 进程间通信有哪几种方式

  • JVM 分为哪些区,每一个区干吗的?

  • JVM 如何 GC,新生代,老年代大对象,永久代,都储存哪些东西?

  • GC 用的引用可达性分析算法中,哪些对象可作为 GC?Roots 对象?

  • 快速排序,过程,复杂度 ?

  • 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。

  • TCP 如何保证可靠传输?三次握手过程

  • TCP 和 UDP 的区别

  • 滑动窗口算法?

  • Linux 下你常用的命令有哪些?

  • 操作系统什么情况下会死锁?

  • 常用的 hash 算法有哪些?

  • 什么是一致性哈希?

  • 如何理解分布式锁?

  • 数据库中的范式有哪些?

  • 数据库中的索引的结构?什么情况下适合建索引?

  • Java 中的 NIO,BIO,AIO 分别是什么?

  • 用什么工具调试程序?JConsole,用过吗?

  • 现在有一个进程挂起了,如何用工具查出原因?

  • 线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?

  • 同步和异步有什么区别?

  • 线程池用过吗?

  • 如何创建单例模式?说了双重检查,他说不是线程安全的。如何高效的创建的一个高效的单例?

  • concurrent 包下面,都用过什么?

  • 常用的数据库有哪些?redis 用过吗?

  • 了解 hadoop 吗?说说 hadoop 的组件有哪些?hdfs,hive,hbase,zookeeper。说下 mapreduce 编程模型。

  • 你知道的开源协议有哪些?

  • 你知道的开源软件有哪些?

  • 你最近在看的书有哪些?

  • 你有什么问题要问我吗?

啃完这份超全的面试宝典,终获蚂蚁金服 offer!

自从进入阿里工作后,我才感觉到了自己从事这份职业所在的意义,我也庆幸自己没有在受挫的时候放弃这个职业。


宝典大概分为这几块:


  • Java 基础

  • 数据库

  • Java 虚拟机

  • JSP&Servlet

  • spring&Hibernate

  • 操作系统

  • Linux

  • 计算机网络

  • 算法


Java 基础


1、面对对象和面向过程的区别?用面向过程可以实现面向对象吗?那是不是不能面向对象?


2、static 和 final 的区别和用途


3、HashMap 和 Concurrent HashMap 区别,Concurrent HashMap 线程安全吗,Concurrent HashMap 如何保证线程安全?


4、因为别人知道源码怎实现的,故意构造相同的 hash 的字符串进行攻击,怎么处理,那 jdk7 怎么办?


5、Java 序列化,如何实现序列化和反序列化,常见的序列化协议有哪些


6、Java 实现多线程的方式及三种方式的区别


7、线程安全


8、多线程如何进行信息交互


9、Java 是否有内存泄露和内存溢出



数据库


1、常见的数据库类型有哪些?redis 用过吗


2、数据库中的范式有哪些?


3、数据库中的索引的结构?什么情况下适合建索引?


4、脏读、不可重复读和幻读


6、MyISA 和 InnDB 引擎的区别


7、数据库 ACID


8、事务隔离级别


9、数据库中的分页查询语句怎么写?



Java 虚拟机


1、JVM 垃圾处理方法(标记清除、复制、标记整理)


2、JVM 如何 GC,新生代,老年代,持久代,都储存哪些东西,以及各个区的作用?


3、GC 用的引用可达性分析算法中,哪些对象可作为 GC Roots 对象?


4、什么时候进行 MinGC,FulilGc


5、各个垃圾收集器是怎么工作的


6、Java 虚拟机内存的划分,每个区域的功能


7、用什么工具可以查出内存泄露


8、JVM 如何加载一个类的过程,双亲委派模型中有哪些方法有没有可能父类加载器,加载同一个类?如果加载同一个类,该使用哪一个类?


9、Java 是如何进行对象实例化的



JSP&Servlet


1、Servlet 的生命周期


2、Jsp 和 Servlet 的区别


3、保存会话状态,有哪些方式、区别如何


4、cookie 和 session 的区别



spring&Hibernate


1、spring ioc、AOP 的理解以及实现的原理


2、IOC 容器的加载过程


3、动态代理与 cglib 实现的区别


4、代理的实现原理


5、Hlbernate 一级缓存与二级缓存之间的区别


6、spring mvc 的原理


7、简述 Hibernate 常见优化策略



操作系统


1、操作系统下生命情况会死锁?


2、如何理解分布式锁


3、进程间通信有哪几种方式?


4、线程同步与阻塞的关系?同步一定要阻塞吗?阻塞一定要同步吗?


5、操作系统如何进行分页调度?



Linux


1、linux 下如何进行进程调度的?


2、linux 下你常用的命令有哪些?


计算机网络


1、Http 和 https 的区别


2、TCP 如何保证可靠传输?三次握手过程?


3、为什么 TCP 连接需要三次握手,两次不可以吗,为什么


4、如果客户端不断的发生请求连接会怎么样?


5、GET 和 POST 的区别?


6、TCP 和 UDP 区别?如何改进 TCP


7、从输入网址到获得页面的过程



算法


1、如何判断一个单链表是否有环?


2、快速排序,过程,复杂度?什么情况下适用,什么情况下不适用?


3、什么是二叉平衡树,如何插入节点,删除节点


5、二分搜索的过程


6、归并排序的过程?时间复杂度?空间复杂度?


7、给你一万个数,如何找出里面所有重复的数?用所有你能想到的办法,时间复杂度和空间复杂度分别是多少?


8、给你一个数组,如何里面找到和为 k 的两个数


9、100000 个数找出最小或最大的 10 个?



三、难道这样就够了吗?不,远远不够!

提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。


备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之 70,这是一些我学习期间觉得还是很不错的一些学习笔记,以及学习视频都是可以分享给大家的!





面试准备+复习资料分享:

为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦


开源分享:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】



用户头像

VX:Lzzzzzz63 领取资料 2021.07.29 加入

还未添加个人简介

评论

发布
暂无评论
2021Java不死我不倒,细数Java开发者的艰辛历程