9月面试基本结束!总结下阿里、腾讯、京东的Java面试题

云惠网小编 2020年9月30日08:30:35
评论
2618字阅读8分43秒
摘要

金九银十过去了一半,很多朋友也基本都收到了大厂offer,今天为大家整理下目前大厂问到的面试题,也希望大家都能够收获心仪的offer!

广告也精彩

前言:

金九银十过去了一半,很多朋友也基本都收到了大厂offer,今天为大家整理下目前大厂问到的面试题,也希望大家都能够收获心仪的offer!

阿里篇:

  • HashMap的数据结构——引出Java7跟Java8的区别

  • 在什么情况下会做一个链表到红黑树的转换

  • 除了数据结构之外,Java8跟Java7在HashMap上还有什么不同

  • 扩容的过程,在什么情况下会扩容

  • 扩容机制中的capacity初始值为什么是16,可不可以自定义成15,为什么一定要是2的指数次方

  • 简单介绍一下hash算法,它的核心性能,或者说判断一个hash算法好坏的指标是什么,indexFor()函数的实现

  • HashMap为了解决什么问题?——引出哈希碰撞

  • 介绍ConcurrentHashMap的数据结构

  • ConcurrentHashMap可以支持多少并发线程

  • ConcurrentHashMap属于JOC下的一个类,对JOC这个包的了解

  • 是否用过synchronized,之前是否碰到过并发问题,怎么处理

  • 在Java技术栈方面,有没有比较擅长或者深入了解的点,是否从源码上看过一些东西Netty原理介绍下。

  • 了解过NIO,BIO,AIO么?介绍下异同,代码中如何使用?

  • 分布式锁用过么?用什么函数?什么使用场景?

  • 能介绍下垃圾回收机制么?

  • redis的数据结构介绍下。项目中用过哪些?什么场景

  • 幂等性是什么?如何保障?

  • 交易系统中的数据一致性咋保障?

数据库

  • 对MySQL了解多少——引出必问知识点(划重点!!!事务和索引)

  • MySQL用的隔离级别是什么,这个隔离级别下会出现什么问题——引出数据库的并发问题

  • MySQL使用这种隔离级别时,是如何解决幻读问题的(引申,理解其他并发问题的解决原理)

  • MySQL的调优机制,主要是哪些方面的调优——引出索引

  • 在MySQL的InnoDB这个存储引擎下,聚集索引(或者聚簇索引)和非聚集索引这两个概念

  • MySQL中的索引是用什么数据结构存储的——此处应该引出B+树

  • 为什么通过索引查询速度会更快一些——此处应该引出二叉树算法

二轮:

  • 自我介绍

  • 项目中的mongoDB使用场景是啥?如何部署的?怎么保证高可用性?

  • JVM的内存结构能介绍下么?

  • CMS和G1的优缺点?什么时候发生FULL GC?什么时候stop the world!

  • 什么样的对象能当根节点?

  • 一个类,两个函数,一读一写,写函数加synchronized,读函数还用加么?voliate关键字啥作用?

  • 数据库设计时,主键咋设?自增好还是非自增好?为啥?

  • mysql的锁类型介绍下

  • 线上CPU 100%了怎么查?

  • 写个算法,给一个数字,一个单调数组中,方法返回数组中第一个大于给定数字的下标,如果没有,返回-1。

三轮:

第三轮就是比较深度的问题了,都是结合业务谈谈自己的程序思想,如果没有一定的技术和开发经验这个是回答不完整的

  • 如何实现一个高效的单向链表逆序输出?

  • 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位

  • 给定一个二叉搜索树(BST),找到树中第 K 小的节点

  • LRU缓存机制

  • 关于epoll和select的区别,以下哪些说法是正确的

  • 从innodb的索引结构分析,为什么索引的 key 长度不能太长

  • 给定一个链表,删除链表的倒数第N个节点,并且返回链表的头结点

  • 如果让你设计一个通用的、支持各种数据库秒级备份和恢复的系统,你会如何设计

  • 如果让你来设计一个支持数据库、NOSQL 和大数据之间数据实时流动的数据流及处理的系统,你会考虑哪些问题?如何设计?

  • 给定一个整数数组和一个整数,返回两个数组的索引,这两个索引指向的数字的加和等于指定的整数。需要最优的算法,分析算法的空间和时间复杂度

  • 假如给你一个新产品,你将从哪些方面来保障它的质量?

  • 请评估一下程序的执行结果?

腾讯篇:

  • 什么情况下会发生栈内存溢出。

  • JVM的内存结构,Eden和Survivor比例。

  • JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor。

  • JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代,说说你知道的几种主要的JVM参数。

  • 你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms和G1,包括原理,流程,优缺点。

  • 垃圾回收算法的实现原理。

  • 当出现了内存溢出,你怎么排错。

  • 简单说说你了解的类加载器,可以打破双亲委派么,怎么打破。

  • g1和cms区别,吞吐量优先和响应优先的垃圾收集器选择。

  • 怎么打出线程栈信息。

  • 简单讲讲tomcat结构,以及其类加载器流程,线程模型等。

  • tomcat如何调优,涉及哪些参数 。

  • 讲讲Spring加载流程。

  • Spring AOP的实现原理。

  • 讲讲Spring事务的传播属性。

  • Spring如何管理事务的。

  • 说说你对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现原理,说说aop中的几个术语,它们是怎么相互工作的。

  • Springmvc 中DispatcherServlet初始化过程。

  • netty的线程模型,netty如何基于reactor模型上实现的。

  • netty的通讯协议是什么样的。

  • springmvc用到的注解,作用是什么,原理。

  • springboot启动机制

京东篇:

  • 自我介绍以及项目介绍

  • spring-cloud是否了解,spring-boot是了解,讲一讲bean的生命周期

  • hashmap-1.8后的改进,hashmap为什么是线程不安全的

  • 如何做到线程安全,concurrenthashmap是怎么实现的

  • 用到哪些的设计模式

  • ThreadLocal用过吗

  • 类的加载机制

  • JVM-内存模型

  • 垃圾回收

  • redis源码有读过吗

  • 介绍你做的项目和其中的难点?

  • 反射的作用是什么?

  • 数据仓库,多线程和并发工具等?

  • 私有云,docker和k8s等?

  • 了解哪些中间件,dubbo,rocketmq,mycat等?

  • dubbo中的rpc如何实现?

  • 自己实现rpc应该怎么做?

  • dubbo的服务注册与发现?

  • 给你一个有序整数数组,数组中的数可以是正数、负数、零,请实现一个函数,这个函数返回一个整数:返回这个数组所有数的平方值中有多少种不同的取值。

写在最后:

互联网大厂比较喜欢的人才特点:
对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。
无论是哪家公司,都很重视高并发高可用技术,重视基础,所以千万别小看任何知识。这里博主为大家整理总结了面试资料
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

互联网大厂面试资料整理领取方式:

9月面试基本结束!总结下阿里、腾讯、京东的Java面试题
9月面试基本结束!总结下阿里、腾讯、京东的Java面试题
9月面试基本结束!总结下阿里、腾讯、京东的Java面试题

腾讯云618
未分类
云惠网小编
SpringCloud -- Config、Bus解析

SpringCloud — Config、Bus解析

1、Config1.1、概述简介1. 分布式面临的问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要...
Java数据结构-了解复杂度

Java数据结构-了解复杂度

2.实例分析与计算  四.写在最后  // 计算斐波那契递归fibonacci的时间复杂度 int fibonacci(int N) { return N < 2 ? N : fibonacci...
[深度解剖C语言] --关键字 static

[深度解剖C语言] –关键字 static

static ---最名不副实的关键字目录1.static修饰全局变量2.static修饰函数3.static修饰局部变量static的作用:1.static修饰全局变量我们创建两...
Java数据结构-认识顺序表

Java数据结构-认识顺序表

目录二.顺序表1.概念及结构2.顺序表的实现打印顺序表获取顺序表的有效长度在pos位置新增元素判断是否包含某个元素查找某个元素对应的位置获取/查找pos位置的元素给pos位置的元素...
腾讯云618

发表评论