进入BAT等主流互联网公司做Java开发需要达到什么技术水平?

简介: 最近面试了阿里、京东、美团、滴滴等大型互联网公司,最终收到了美团offer,这次面试过后,我把面试过的公司的面试题做了一个整理。

最近面试了阿里、京东、美团、滴滴等大型互联网公司,最终收到了美团offer,这次面试过后,我把面试过的公司的面试题做了一个整理。这篇文章是我凭回忆记录的,面试题没有顺序,不分先后,接下来公布我去阿里、京东、美团等一线互联网公司的面试题:

一、阿里巴巴面试

1、开发中Java用得比较多的数据结构有哪些?

2、谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的?

这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问有没有线程安全的map,接下来问conurren包。

3、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomect里面有没有进行过相关的配置。

4、说一下http协议、get和post的基本区别,接着问tcp/ip协议,三次握手,窗口滑动机制。

5、开发中用了哪些数据库?回答mysql;储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。

6、springmvc和mybatis的工作原理,有没有看过底层源码?

二、京东金融面试

1、Dubbo超时重试;Dubbo超时时间设置

2、如何保障请求执行顺序

3、分布式事物与分布式锁(扣款不要出现负数)

4、分布式session设置

5、执行某操作,前50次成功,第51次失败a全部回滚b前50次提交第51次抛异常,ab场景分别如何设置Spring(传播性)

6、Zookeeper有哪些用

7、JVM内存模型

8、数据库垂直和水平拆分

9、MyBatis如何分页;如何设置缓存;MySQL分页。

10、熟悉IO么?与NIO的区别,阻塞与非阻塞的区别。

11、分布式session一致性

12、分布式接口的幂等性设计「不能重复扣款」

三、美团面试

1、最近做的比较熟悉的项目是哪个?画一下项目技术架构图。

2、JVM老年代和新生代的比例?

3、YGC和FGC发生的具体场景

4、jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?

5、线程池的构造类的方法的5个参数的具体意义?

6、单机上一个线程池正在处理服务如果忽然断电该怎么办?(正在处理和阻塞队列里的请求怎么处理?)

7、使用无界阻塞队列会出现什么问题?

8、接口如何处理重复请求?

9、具体处理方案是什么?

10、如何保证共享变量修改时的原子性?

11、设计一个对外服务的接口实现类,在1,2,3这三个主机(对应不同IP)上实现负载均衡和顺序轮询机制(考虑并发)

四、滴滴面试

1、自我介绍;技术特点

2、兴趣是什么;优势是什么

3、jvm、jre以及jdk三者之间的关系?

4、Dubbo的底层原理,Zookeeper是什么

5、cincurrentMap的机制;TreeMap;Volatil关键字

6、快速排序;广度优先搜索(队列实现)

7、缓存的雪崩以及穿透的理解?

8、HashMap的key可以重复吗?

9、synchronized和lock的区别?

10.开发一个大型网站你会考虑哪些问题?

以上就是全部的面试题目,针对以上知识点,结合当前互联网公司的技术需求及主流技术,我整理了一套系统的架构技术体系。不少公司很重视高并发高可用的技术,特别是一线互联网公司,分布式、JVM、spring源码分析、微服务等知识点已经是面试的必考题。这些东西可能你们平时在工作中接触过,但是缺少全面系统的学习,希望对正在面试的朋友或是遭遇技术瓶颈的程序员们提供一点思路。

架构筑基篇

性能优化如何理解

常用工具调优

linux基础与进阶

开源框架篇

Sprng5框架

AOP源码解析

Mybatis

IOC源码解析

Spring MVC

高性能架构篇

分布式架构思维

分布式协调和分流

高可靠数据储存

缓存和NoSQL

异步与消息中间件

分布式解决方案实战

微服务架构篇

SpringBoot

SpringCloud

Docker虚拟技术

Dubbo应用及源码解读

团队协作开发篇

Git

Maven

Sonar

Jenkins

B2C商城项目实战篇

系统设计

用户管理子系统

搜索子系统

订单子系统

商品管理子系统

支付系统

后台系统

分布式调度系统

欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:860113481

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

相关文章
|
15天前
|
NoSQL Java 数据库连接
深入探索 Java 后台开发的核心技术
【4月更文挑战第5天】本文探讨了Java后台开发的关键技术,包括Spring框架与Spring Boot的使用,MyBatis和Hibernate的ORM选择,关系型与NoSQL数据库的适用场景,线程池与异步处理在并发中的作用,微服务架构及RESTful API设计。这些核心技术有助于开发者打造稳定、高性能的Java后台系统,适应不断发展的云计算和人工智能需求。
|
16天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
1天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
2天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
27 10
|
2天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
3天前
|
存储 数据可视化 安全
Java全套智慧校园系统源码springboot+elmentui +Quartz可视化校园管理平台系统源码 建设智慧校园的5大关键技术
智慧校园指的是以物联网为基础的智慧化的校园工作、学习和生活一体化环境,这个一体化环境以各种应用服务系统为载体,将教学、科研、管理和校园生活进行充分融合。无处不在的网络学习、融合创新的网络科研、透明高效的校务治理、丰富多彩的校园文化、方便周到的校园生活。简而言之,“要做一个安全、稳定、环保、节能的校园。
20 6
|
3天前
|
监控 前端开发 算法
Java技术体系
Java技术体系(韩顺平老师整理)
7 0
|
5天前
|
存储 缓存 Java
线程同步的艺术:探索 JAVA 主流锁的奥秘
本文介绍了 Java 中的锁机制,包括悲观锁与乐观锁的并发策略。悲观锁假设多线程环境下数据冲突频繁,访问前先加锁,如 `synchronized` 和 `ReentrantLock`。乐观锁则在访问资源前不加锁,通过版本号或 CAS 机制保证数据一致性,适用于冲突少的场景。锁的获取失败时,线程可以选择阻塞(如自旋锁、适应性自旋锁)或不阻塞(如无锁、偏向锁、轻量级锁、重量级锁)。此外,还讨论了公平锁与非公平锁,以及可重入锁与非可重入锁的特性。最后,提到了共享锁(读锁)和排他锁(写锁)的概念,适用于不同类型的并发访问需求。
35 2
|
9天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
16 0
|
11天前
|
人工智能 小程序 Java
JAVA开发智慧学校系统源码+人脸电子班牌布局
智慧校园是通过利用物联网,大数据技术来改变师生和校园资源相互交互的方式,以便提高交互的明确性、灵活性和响应速度,从而实现智慧化服务和管理的校园模式。