欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面试快手、阿里巴巴、等大厂的Java高级工程师面试题(附上简历技能)希望可以帮到你

程序员文章站 2022-07-07 12:51:05
前言:最近了解到朋友因为学习起来感觉有些乱,没方向感,他特意挑了难一点的大厂找找找虐,他说这样才有意义嘛!还跟我说什么怀着进大厂的梦想,先去试试水。结果嘛就被虐得体无完肤,于是我就问他都有些什么内容,然后做了以下的总结。(下列都以第一人称叙述)涉及的企业有:阿里、快手、转转、用友(较简单,不做展示)。还有一个企业不记得名称了(纯业务的面试,没印象)快手一面Switch数据类型支持哪些Java有哪些锁?区别在哪?底层如何实现的?为什么非公平锁效率高?Java内存模型Java...

前言:

最近了解到朋友因为学习起来感觉有些乱,没方向感,他特意
挑了难一点的大厂找找找虐,他说这样才有意义嘛!

还跟我说什么怀着进大厂的梦想,先去试试水。

结果嘛
就被虐得体无完肤,于是我就问他都有些什么内容,然后做了以下的总结。(下列都以第一人称叙述)

涉及的企业有:阿里、快手、转转、用友(较简单,不做展示)。还有一个企业不记得名称了(纯业务的面试,没印象)

快手

面试快手、阿里巴巴、等大厂的Java高级工程师面试题(附上简历技能)希望可以帮到你

一面

  • Switch数据类型支持哪些
  • Java有哪些锁?区别在哪?底层如何实现的?为什么非公平锁效率高?
  • Java内存模型
  • Java内存结构
  • 线程池使用场景及其核心参数说明、拒绝策略(拒绝策略不理想)
  • Threadlocal原理和使用场景(不理想)
  • 实现多线程通讯
  • Mybatis初始化和执行原理
  • Spring mvc初始化和执行原理
  • Springboot如何自定义starter
  • 项目中使用了springcloud哪些组件及其原理
  • Redis数据类型
  • Redis淘汰策略
  • Redis集群方式
  • Redis中string底层结构(不理想)
  • MQ工作方式
  • MySQL数据库引擎比较(不理想)
  • 事务隔离级别说明
  • 项目中使用哪些设计模式?(策略,模板,观察者)
  • 批量导出的业务1000个,如何实现(多线程、压缩传输)
  • 什么场景会出现栈溢出
  • 一般怎么优化慢查询
  • 什么情况下会使得索引失效
  • Redis集群时分布式锁的问题(主节点锁信息未同步至从节点,主宕机)(不理想)

二面

  • Redis分布式锁中加锁与解锁的详细细节询问,过期如何续命(不理想)
  • Spring的ApplicationEvent的使用场景
  • SpringMVC拦截器和过滤器区别(不理想)
  • 一个项目中可以有多个dispatcherServelt吗?为什么?(不理想)
  • SpringAOP涉及到什么设计模式?底层原理
  • SpringBoot配置文件加载优先级(不理想)
  • SpringBoot启动原理
  • 多层接口传参相同的问题怎么解决(估计是问ThreadLocal)(不理想)
  • Redis集群有哪些方式
  • MySQL事务隔离级别
  • MySQL聚簇索引(不理想)
  • 给定业务场景写sql(不理想)
  • 重写和重载的测试题,参数列表相同,只是泛型不同,会不会报错
  • 写一个单例(我写了最简单的饿汉式,但是告诉了人家,其他的实现方式,及如何防止反射反序列化破坏)

三面

很不幸,鄙人倒在了这一环节

  • ArrayList底层原理
  • ArrayList扩容、删除、添加原理
  • 线程池核心参数说明
  • 手写一个定时的线程池(不理想)
  • Mysql聚簇索引和非聚簇索引说明(不理想)
  • Java自带的序列化方式(不理想)
  • 项目使用了SpringCloud哪些组件
  • Eureka属于可用还是一致?为什么
  • Eureka实现服务治理的原理
  • Ribbon原理
  • ZK集群原理
  • Spring注解生效的原理(AOP底层原理)
  • 给定一个业务场景,手写SQL(不理想)
  • 项目中如何使用策略模式

阿里

面试快手、阿里巴巴、等大厂的Java高级工程师面试题(附上简历技能)希望可以帮到你

尽管阿里一面没过,但这是我目前面试最舒服的一次,完全按照简历上的知识去由浅至深面试

  • HashMap底层数据结构和原理
  • ConcurrentHashMap线程安全的原理
  • Sync和Lock的区别,底层原理
  • CAS中ABA如何解决
  • 类加载机制中双亲委派(不理想)
  • ThreadLocal底层原理
  • Java线程池关键参数及其拒绝策略说明
  • Jvm内存结构详细阐述
  • MySQL索引底层结构(不理想)
  • 聚簇索引和非聚簇索引
  • 如何优化索引查询
  • 组合索引的使用场景(不理想)
  • MySQL隔离级别
  • 脏读、幻读的定义
  • AOP底层原理
  • JDK动态代理和CGlib动态代理对比,各自底层的实现原理
  • FactoryBean和BeanFactory的区别
  • SpringMVC的拦截器和Filter的异同,自己配置过吗?(不理想)
  • Nginx的负载均衡方式有哪些?正向代理和反向代理的区别
  • RPC框架中服务消费者如何拿到服务提供者的请求信息,各自职责(估计是在问心跳包)(不理想)
  • 注册中心的治理
  • Hystrix熔断器的工作原理,熔断半开是指什么(不理想)
  • Ribbon使用过吗?
  • Kafka消费者,生产者,分区,topic的关系是什么,消费者与分区的数量的对应关系是什么
  • 分布式事务如何解决的?事务消息和普通消息的区别
  • BASE理论和CAP理论是指什么
  • ES中倒排索引和普通索引的区别(不会)
  • Mybatis中二级缓存和一级缓存的区别(我把Mybatis整个流程阐述了一次)
  • Netty中粘包和拆包是指什么?
  • TCP中为什么握手是三次而挥手是四次?(不理想)

转转

面试快手、阿里巴巴、等大厂的Java高级工程师面试题(附上简历技能)希望可以帮到你

  • 用过什么设计模式?描述一下场景
  • SpringBean生命周期
  • 事务的原理
  • Spring声明式事务为什么能每次拿到相同的connection(估计是在问ThreadLocal)(不理想)
  • Springboot的starter组件的结构是什么样的
  • HashMap1.7和1.8的区别在哪
  • Sync和ReentrantLock的区别
  • 公平锁和非公平锁的区别
  • 给了一个实际出现线程安全的场景,判断哪些操作会出现阻塞(不理想,没理解问题)
  • JVM内存结构的介绍
  • 垃圾回收算法有哪些?重点说说复制算法
  • 常用的垃圾回事器有哪些?CMS的原理阐述一下
  • Netty使用过吗?讲下原理
  • 粘包和拆包的解决方案有哪些?
  • 使用过哪些Redis的数据结构
  • MQ如何解决分布式事务
  • 消息幂等性如何解决
  • 消息顺序消费如何解决,哪些MQ有这个特性
  • ThreadLocal的原理(不理想)
  • Redis实现分布式锁中,过期时间如何设置的(估计是在问NX和PX如何保持一致性)(不理想)
  • 线程池有哪些参数是自己用过的,具体的使用场景(不理想)
  • 匿名内部类使用外部变量为什么必须是final修饰的(不理想)
  • 一条TCP连接上可以发多少个HTTP请求(不知道)
  • 看一段代码(SpringAOP使得this失效)
  • 手写消费者和生产者(不理想)

附上简历中配置的个人技能

  • 熟悉常用设计模式:策略、责任链、单例、装饰者、代理、观察者、适配器、外观/门面
  • 研究过Mybatis3源码,熟悉sqlsession执行流程、熟悉一级缓存、二级缓存原理
  • 研究过Spring5注解方式启动Spring的源码,熟悉Springbean生命周期、SpringAOP底层原理、Spring事务底层原理、Spring循环依赖解决的原理
  • 研究过SpringMVC5的源码,可手动仿真SpringMVC框架
  • 研究过Springboot2的启动源码,熟悉Springboot核心设计理念,可自定义starter组件,熟悉@SpringBootApplication底层原理
  • 熟悉Java8新特性
  • 熟悉常用集合(ArrayList、LinkedList、HashMap1.7、HashMap1.8、ConcurrentHashMap1.7、ConcurrentHashMap1.8)原理,并研究过源码
  • 可手写二叉树、了解红黑树旋转变色规则
  • 熟悉Nginx负载均衡、动静分离、反向代理、静态文件压缩原理
  • 了解网站跨域问题及其相应解决方案
  • 了解Nginx+Lvs+Keep-alive实现高可用的原理
  • 熟悉多线程(通讯、锁,CAS机制)、Java内存模型,可手写Java线程池
  • 熟悉Java内存结构,了解常用垃圾回收算法、垃圾回收器以及内存溢出和内存泄漏等问题
  • 熟悉Zookeeper使用,了解Zookeeper工作原理,分布式锁原理、分布式集群原理、选举策略、数据最终一致性原理。
  • 了解MySQL中的事务隔离级别和常见的锁(共享、排它、意向、记录、间隙、临键、行锁、表锁等)
  • 研究过Tomcat8底层源码,可在微服务架构下优化Tomcat8
  • 熟悉Netty框架,了解BIO、NIO、TCP/UDP原理,了解OSI七层网络模型,了解请求粘包、拆包原因和解决方案,了解序列化机制。
  • 熟悉SpringCloud框架,了解服务治理、服务注册发现、服务降级、熔断、隔离等Hystrix服务保护机制的原理,熟悉Ribbon负载均衡、Config配置中心、Zuul网关、Swagger接口调试
  • 熟悉Redis淘汰策略、事务、持久化机制、分布式锁、单线程高效、自动过期、与MySQL保持一致性等原理
  • 熟悉Redis穿透、击穿、雪崩、集群、主从复制、哨兵选举、cluster分片、动态扩容、缩容、布隆过滤器等原理
  • 熟悉常用消息队列RabbitMQ/Kafka/RocketMQ,了解其解决分布式事务,消息幂等,顺序消费,事务消息以及常用工作方式等原理

最后:

朋友跟我讲到的差不多就是这些了,希望可以对你有帮助!

有帮助的话记得点赞支持哟!

最近也有整理一些面试资料&最新2020收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以点击进入暗号:csdn

面试快手、阿里巴巴、等大厂的Java高级工程师面试题(附上简历技能)希望可以帮到你
面试快手、阿里巴巴、等大厂的Java高级工程师面试题(附上简历技能)希望可以帮到你

最近也有整理一些面试资料&最新2020收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以点击进入暗号:csdn

本文地址:https://blog.csdn.net/qq_41770757/article/details/108202070