美文网首页
三套完整面试过程

三套完整面试过程

作者: 小兽_e1ba | 来源:发表于2019-05-06 16:21 被阅读0次

第一套

一面:

HashMap 实现原理,ConcurrentHashMap 实现原理

红黑树,为什么允许局部不平衡

TCP,UDP 区别,为什么可靠和不可靠

一次 HTTP 请求的全过程,包括域名解析、定位主机等

TCP 三次握手

MySQL 事务是什么?四大特性,四大隔离级别

ConcurrentHashMap 和 Hashtable 区别

spring IOC 和 AOP,以及各有什么优点

有哪几种常用的线程池

什么情况下使用 Runnable 和 Thread 创建线程,Runnable 和 Callable 的区别

线程方法中的异常如何处理,副线程可以捕获到吗

synchronized 和锁的区别,什么情况下使用 synchronized 和 ReentrantLock

JVM 的对象分配在哪个区,Class 对象分配在哪个区

二面:

常用的设计模式介绍:单例模式、装饰者模式等

Java 会出现内存溢出吗?什么情况下会出现?

双亲委派模型,为什么这样做?

对象什么情况下进入老年代?

快速排序说一下过程

AOP 实现原理:动态代理

BIO、NIO(如何实现的)、AIO

消息中间件有哪些?他们之间的优劣势?

Redis,持久化框架

栈和队列

垃圾回收算法

MySQL 的索引

Tomcat 类加载器

OOM 内存泄漏,什么情况下会出现,如何排查

三面:

介绍你实践的性能优化案例,以及你的优化思路

微服务和 SOA 的区别,优劣势

SQL 慢查询的优化方案,索引和表的优化方案。

MySQL 与 MongoDB 的区别,海量数据的存储

缓存框架,例如 Redis、Memcached 之间的区别,优劣势比较

请描述一致 hash 算法

分布式 session 的共享方案有哪些,有什么优劣势

高并发情况,系统的优化方案有哪些,以及优先级排序。

第二套

一面:

ArrayList 和 linkedlist 区别。ArrayList 是否会越界。

ArrayList 和 hashset 有何区别。hashset 存的数是有序的么。

volatile 和 synchronized 区别

多态的原理

数据库引擎 Innodb 和 myisam 区别

Redis 的数据结构

Redis 是基于内存的么

Redis 的 list zset 的底层实现

http 和 https 的区别,tcp 握手过程

jvm 垃圾回收算法手写冒泡

手写单例包括多线程下

Java 线程间怎么实现同步,notify()与 notifyAll()的区别

数据库的悲观锁和乐观锁应用场景。

排序算法的复杂度,快速排序非递归实现。

海量数据过滤,黑名单过滤一个 url。

二面:

list set map 底层使用什么实现的有哪些典型实现

hashmap 扩容是怎么扩容的,为什么是 2 的幂

concurrenthashmap 为什么线程安全,采用了什么措施应对高并发

线程池的参数有什么意义

Springmvc 请求流程

Spring IOC,autowired 如何实现

Spring boot

SpringClound 的基本架构设计

Dubbo 和 SpringClound 的区别在哪里,优劣势

说说一致性 Hash 算法

三面:

分布式架构设计哪方面比较熟悉

讲讲你对 CDN 的了解,与分布式缓存和本地缓存的区别

多线程和高并发有什么区别

高并发下有哪些常用的技术解决方案,举三个高并发场景设计例子

说一个你对 JVM 优化的实际案例,包括实际步骤和方法

Docker 有使用过和了解吗?Docker 和 JVM 的区别是什么?

Docker 的基本架构和使用场景?

负载均衡有接触过哪些开源框架,优劣势是什么?

数据库分库分表需要怎样来实现?

数据库端的常用优化策略?

如果让你来设计秒杀系统,你的设计思路是什么,为什么要这样设计?

面试总结:

java 的基础知识点,主要围绕在集合类和多线程等:ArrayList、LinkedList、HashSet、HashpMap

的数据结果,以及如何扩容、以及 ConcurrentHashMap 相关的多线程安全等。

JVM 的内存分配、几个常见的垃圾回收算法以及原理、还有对应的 JVM 优化参数需要牢记。

网络:TCP 的三次握手等网络都必问,重点掌握网络协议。

Redis:作为分布式缓存的主力,基本也是 BAT 每次必考,重点是 Redis 的数据结构、内存、

算法、持久化,以及与别的缓存 memcached 的优劣势。

多线程:状态流转、多线程的实现,以及与高并发的区别等。

Spring 框架问得是最多的,BAT 非常喜欢问,重点掌握。

最后就是分布式架构设计

常用的分布式架构设计方案:单点登录、分布式缓存、存储、消息的选型,还有就是数据

库端的优化方案(需要提前了解)。

最好能提前了解深入一个类似秒杀这样的项目,如果面试官问到类似的项目,你能把设计

思路讲出来,这对你的面试结果是很大的加分项。

第三套

一面

1.自我介绍

2.谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里

3.Spring 的 bean 的作用域?(比如:singleton,prototype 等)

4.Spring 的 IOC 实现原理?没有无参构造函数能实例化吗?有参构造函数注入?(xml 配置)

5.通过反射,谈到了方法区,然后,类加载机制?

6.synchronized 的实现原理?Volatile 能保证原子性吗?为什么?

7.hashmap 和 concurrenthashmap 的 size 方法怎么实现的

8.JVM 的调优参数?(-Xmn,-Xms 等具体参数设置)

9.线程池优点,参数,如果我想实现 newSingleThreadPoll,应该怎么配置,构造方法传什么

参数

10.mysql 死锁,怎么解决,如果不要求执行顺序,死锁怎么解决

11.ioc 和 aop 原理

12.线程的五态?转化过程?

13.TCP 三次握手,为什么三次握手?

14.JVM 内存分区?(主存,工作内存,堆,栈。。。。)

15.讲一下 GC?

16.为什么要用老年代和新生代?

17.新生代进入老生代的情况?

18.新生代的分区?

二面

变着法的问了一大堆线程池的知识 (主要考对应的参数)

java 内存模型

lock 和 synchronized 的区别

reentrantlock 的实现

hashmap 和 concurrenthashmap

B+树和 B-树的区别

复合索引

聚集索引和非聚集索引的区别?

数据库索引 主键和唯一索引有什么区别

索引失效条件,什么时候该建立索引

innDB 和 MyISAM 的区别?

线程安全(阻塞同步,非阻塞同步,无同步)

三面

主要高并发和分布式架构设计

服务器模型以及之间的区别

线程池的设计

线程池如何做负载均衡

如何实现线程调度算法

复合索引是如何实现的?

如何设计单点登录,单点登录的原理

redis 缓存和 memcached 缓存的区别,以及各自的优劣势

大型高并发网站如何做性能优化:Web 性能、数据库性能、应用服务器性能等。

实践中如何优化 MySQL:SQL 语句及索引的优化、数据库表结构的优化、系统配置的优化、

硬件的优化

分库分表和读写分离如何设计

微服务架构:dubbo 和 springcloud 的区别,以及各自对应的使用场景。

相关文章

  • 三套完整面试过程

    第一套 一面: HashMap 实现原理,ConcurrentHashMap 实现原理 红黑树,为什么允许局部不平...

  • 完整过程

    甲:杂乱的思绪会将你带向何方? 乙:这就不知道了,让自己的思绪随意奔跑了将近40分钟,现在我准备把它收回来。因为我...

  • 浅谈多倍体概念以及多倍体形成的几种途径

    多倍体,拥有三套及三套以上完整染色体组的生物体。 根据多倍体是否经历或已经完成二倍体化,可以将多倍体分为古多倍体 ...

  • iOS开发流程-UI部分

    1.从原型到UI页面 2.UI页面上的图标 完整需要三套,(..png,..@2x.png,..@3x.png) ...

  • 面试相关资料

    2018 iOS面试题系列2019 iOS 面试题大全(补充完整版)面试题学习交流常见的一些面试题

  • 教育的“时、空、人、事”

    教育是培养人的工作。培养人是培养一个完整的人,是通过一个完整的教育过程,来培养一个完整的人。这个完整的过程...

  • 《秋叶》绘制过程

    图文版完整绘制过程请点击:《秋叶》绘制过程

  • 面试总结

    面试过程遇到的一些问题,简单的记录了一下,有的没有记录完整,有的没有整理答案,需要的可以自己去查,这个只是 自己的...

  • 儿子衣柜整理

    新的三套短袖短裤 裤子长袖三套

  • 专业的人让人尊敬

    今天参加了一个面试,我觉得是找工作以来最专业的面试官了。 整个面试流程很完整,而且面试官的态度也没有居高临下。面试...

网友评论

      本文标题:三套完整面试过程

      本文链接:https://www.haomeiwen.com/subject/ihldoqtx.html