2021大厂最新面试总结!

聊聊最近的金三银四吧

又到了一年一度的金三银四的时节,分享总结下自己最近遇到的面试问题。

深圳阿里

  1. 快排。
  2. 二叉树深度优先、广度优先遍历。
  3. linux相关数据结构问题。

蚂蚁

  1. ArrayList中的remove是如何操作的?结合底层源码讲述。
  2. HashMap的扩容过程,如何形成循环链的?
  3. 你们系统中的支付场景如何保证一致性的,系统的资金流是怎样的?
  4. JVM内存模型。
  5. 多线程并发。
  6. 事务如何处理的。

开思时代

  1. 支付场景如何避免一笔订单不会重复支付,结合业务来说。
  2. spring cloud有哪些组件?分别干什么用的。
  3. 发起一个http请求到微服务项目中,调用其他几个服务,整个执行流程,最好画图讲述。
  4. jvm内存模型,类加载机制。
  5. 什么情况用到多线程?结合业务场景。
  6. 聊聊线程池技术,threadPoolExcutor底层实现,执行逻辑,为什么要用阻塞队列,keepaliveTime做什么用?
  7. 用到过哪些锁,讲讲AQS,synchronize能否实现乐观锁,ReentrantLock能否实现乐观锁?
  8. 有没有自定义注解,哪些场景?
  9. 设计模式用到了哪些?
  10. 反射是做什么用到?
  11. 动态代理如何使用,有什么限制?jdk中有几种实现动态代理的方式?
  12. 实现单例模式的最简单的方式是什么?枚举可以吗?
  13. redis是如何实现分布式事务的?
  14. 有没有了解过Agent?
  15. java逃逸分析。

开思二面

  1. 有一个接口速度很慢,你的解决方案是什么?
  2. 关于sql优化你有什么经验,你的解决思路?
  3. 保证消息不丢失的方式,如何避免重复消费?
  4. 最近这个项目,最大的难点在什么,给你带来的提升是什么?
  5. 怎么把控版本质量?
  6. 你们是怎么做敏捷的?
  7. 代码量占了项目的多少?人力分配。

有赞

  1. hashmap底层原理,put,get操作,1.7,1.8。
  2. concurrenthashmap底层原理,扩容机制。
  3. redis扩容机制。
  4. 线程池,threadpoolExecutor流程。

微众银行

  1. 基本数据类型大小,常量池,文件IO、JDK新特性。
    lanmda,steams,base64,并发库,metaspace 替代permgen space,jdeps
  2. 8大数据类型大小。
  3. 文件操作,字节流。
  4. 编码的控制方法。
  5. 系统安全保障,信息数据安全,从权限控制和登录认证过程考虑。

深圳思维

  1. spring源码,IOC初始化,对象初始化过程,自定义注解实现。
  2. msql数据库优化,事务隔离级别设置。
  3. 线程安全的集合,原理和它们的数据结构。
  4. jdk8新特性。
  5. rabbitmq路由。
  6. msql优化,业务中的应用。

鹏元征信

  1. 连接池优化。
  2. spingcloud如何封装,你们用的什么版本。
  3. 对微服务拆分的理解。
  4. zookeeper的理解。

鹏元二面、三面

  1. 如何设计一个场景记录上百万用户每天的签到信息,考查redis的bitmap,假如
    这个数据量非常大,超过了bitmap的最大容量如何做?
  2. 如何设计一个乐观锁的结构?
  3. AQS内部具体实现。
  4. 数据库的加锁场景。
  5. MVCC多版本控制。
  6. countdownlatch和cyclelibarrier的区别,都解决了什么问题,顶层实现。
  7. 项目经历,挑一个项目讲述架构。
  8. 如何保证版本质量,如何进行单元测试。
  9. 如何做敏捷的。

腾讯

  1. 获取字符串最大重复子串。
    abcgabcabcabc
  2. redis数据结构,有序集合怎么实现的,底层原理。
  3. rabbitmq哪几种模式。
    点对点,广播,topic模式匹配,使用场景。
  4. 金额用什么方式处理,什么数据类型,为什么会丢失精度。
  5. 设计模式(必问)。
  6. redis实现分布式锁。
  7. 字符串对象,创建赋值过程。new String()

腾讯微保

  1. 佣金计算多个维度,如何从技术上考量,避免改代码改数据库,满足多个费率,多种产品的要求。
  2. 谈谈事务消息的理解。
  3. springcloud有哪些组件,详细描述。
  4. 如何设计一个秒杀系统,100并发,抢一台手机。
  5. 有没有了解过servicemesh

字节(广告部)

  1. mysql主从复制原理,如何保证一致性。
  2. binlog存的是什么?主从一致性问题。
  3. 数据库有哪些索引,非聚集索引结构,聚集索引能有多个吗,为什么?
  4. pg库和mysql区别。
  5. 算法题:删除一个有序链表中的重复元素,空间复杂度O(1),时间复杂度O(n)。

阿里(外部电商,支付结算,团队20几人,技术栈springcloud,flink,flume,rocketmq,mysql)

  1. 过往项目经历。
  2. mysql优化经历,调优细节。
  3. 怎么建索引,a,b,c三个复合索引,单个b会命中吗? a,b,c单列索引,and a,and b,能命中哪一个?
  4. rocketmq对事务消息的理解。
  5. 如何保证幂等,消息一致性,
  6. jvm排查经历,优化细节。

深信服一面(安全信息)

  1. rabbitmq,kafka你们系统用在什么场景?
  2. 算法题:通过链表构建linklist,实现add,remove,get三个方法。
  3. 防病毒。

深信服二面

  1. 阅读一段java程序,对象生成和方法调用的。
  2. 一段python脚本,执行错在哪里,关于socket发送请求的。
  3. 求两个无环单链表第一个相交节点。

阿里 (lanzda)

  1. 过往经历。
  2. springMVC原理。
  3. arraylist原理
  4. 分布式事务的理解。
  5. 项目中最大的挑战。

索信达(一开始不知道是外包)

  1. 微服务哪些组件,IO。
  2. redis分布式锁,缓存穿透/击穿,还有服务的熔断。
  3. mq的业务场景。
  4. 微服务中与json相关的注解,spring常用的注解一口气10个。
  5. 各种锁的使用原理,原子性保证。
  6. mysql执行引擎
  7. 自己在项目开发还有其它的工作。
  8. 多线程,线程池,如何防止死锁。

微众

  1. 项目经历
  2. 内存模型,new Object()内存中发生了什么?
  3. springMVC流程,获取handlerMapping具体是怎样的。
  4. 分库分表是如何做的。

腾讯 (微信支付)

  1. redis用来存什么数据,如何做持久化?
  2. 项目经历,贴合项目。
  3. 消息队列使用场景。
  4. 笔试题:给定一个无序的整数类型数组,求最长的连续元素序列的长度。
    例如:
    给出的数组为[100,4,200,1,3,2],
    最长的连续元素序列为[1,2,3,4].返回这个序列的长度:4
    你需要给出时间复杂度在O(n)之内的算法。

涂鸦智能

  1. 了解hashmap底层原理吗?
  2. 谈谈concurrenthashmap原理。
  3. 谈谈mysql索引下推,覆盖索引。
  4. 如何保证redis双写一致。

涂鸦智能二面

  1. 项目经历
  2. 敏捷怎么做的
  3. mysql执行一段update语句经过了哪些层,执行流程
  4. mysql的redo log和binlog有什么区别,一段sql分析下如何写log,如何做故障恢复的。

涂鸦三面

  1. 画系统架构图
  2. 如何平滑的切换老的通讯机,不停机切换如何做。
  3. redis中对应热点数据,并发读的情况,此时几个请求失效了同时发到数据库中,如何解决。
  4. 服务治理方面,当下游服务中,有某一个服务响应超时,导致上层调用放一直阻塞等待,同时引发全系统的性能,如何设计方案避免。
  5. 商品表中关联了订单表,此时已经对商品表进行了分库,如何来查商品表的信息。
  6. abc,ac,bc如何建立索引优化查询。

快手(支付中台)

  1. 你怎么定义runtimeException 和unchecked异常。
  2. 谈谈对volatitle理解,使用场景。
  3. 5个线程同时执行,并发的执行,设计一种方式,最终5个线程都执行完一起返回。
    考查点:countdownlatch
  4. 了解countdownlatch吗,解决了什么问题,用在什么场景,底层怎么实现的?
  5. 算法:一次跨一个或两个台阶,跨N级台阶有多少种走法?
  6. 谈谈Mysql的四种隔离级别,各种加锁场景。
  7. mysql的原子性底层是怎么实现的?
  8. 谈谈你对索引的理解,mysql中的索引结构分别是怎样的?覆盖索引是怎么样实现的?
  9. 线程池工作原理。
  10. 设计一个程序,保证三个线程,a、b、c按顺序执行。

快手二面

  1. 为什么设计表锁,画图说明,解决了什么问题。
  2. 系统中的读写锁场景。
  3. 设计题,如何设计一个秒杀架构。
  4. 编程题,输入 i am a boy. 输出bo. a am i,不能用split。

快手三面

  1. 过往项目经历。
  2. 路由是个什么概念?

乐信(风控)

  1. 类加载机制,jvm内存模型,新创建一个对象过程,如何进行分配内存。
  2. 如何保证消息一致性。
  3. redis持久化机制,如何保证高可用,如何实现主从复制
  4. 什么是缓存穿透与缓存雪崩。
  5. mysql索引都有哪些,结构是怎样的
  6. 什么是覆盖索引,索引下推,加锁场景
  7. 数据库双写一致
  8. 高并发,高可用架构设计
  9. 分布式事务的问题,分布式锁的实现原理。
  10. sql调优过程以及jvm调优经验

乐信二面

  1. jvm内存模型,如何创建一个对象一开始就放在老年代。
  2. jmm模型。
  3. 谈谈多线程技术,什么是线程安全与不安全,你怎么定义的?
  4. 操作系统的线程状态有哪些?谈谈理解。
  5. jdk中实现代理模式有哪几种,分别举例说明,如何理解的,各自有什么优劣势?
  6. 什么是享元模式?
  7. mysql索引失效的情况,给你一段sql如何进行优化。
  8. 消息队列消费如何保证顺序,如何保证不重复消费。
  9. rocket的事务消息。
  10. jvm调优主要从哪些方面着手。

中国联通

问了个寂寞,面试官没问啥

美团优选(面向供应商)

  1. 项目经历
  2. 架构方面的理论,依赖倒转,里式替换,单一职责,架构方法论,谈谈六边架构原理。
  3. spring的controller是单例的吗?为什么。
  4. 工厂方法和策略模式有什么区别,模板方法呢,可以举例讲解。
  5. 算法:实现二分查找。
  6. 生产上你写的一个接口突然点不了了,如何快速排查问题?如何快速恢复?
    看看哪些人最近登录了,看看最近QPS多少,是不是有大并发,有没有线程阻塞,线程池的逻辑卡死了,接口调用链路故障了,
  7. 如何设计一个延时消息?5分钟一起发送。答通过redis,你不知道消息的体量,放redis你还要保证redis和消息件的一致性。
  8. mysql谈谈主键索引,普通索引区别,内部结构各是什么?如何进行回表的?命中的流程。
  9. 什么是覆盖索引,谈谈多版本控制,什么是undo和redolog,加锁原理解决了什么问题?
  10. 如何保证资金的一致性,上下游系统,你有什么方案?事务消息。
  11. 最近在看什么书?谈了一堆架构方面的书,职业发展。
  12. hashmap获取元素时间复杂度多少?为什么。
  13. spring中想要在初始化之前做一些操作有哪些办法?

OPPO

  1. 项目经历
  2. 消息队列,如何保证消费端消息不丢失,不被重复消费。关闭自动提交,手动提交确认。
  3. http中的timewait,close wait各有什么作用。
  4. http中状态码100有什么用。
  5. 解决了什么分布式事务的问题?
  6. jvm性能优化,比如OOM,你是如何操作的?
  7. sql调优的经历。
  8. 批量代发服务和支付路由具体细节。
  9. mvcc多版本控制中隔离性是如何实现的。

商汤科技

  1. 操作系统pv操作
  2. redis list kafka你如何选择
  3. redis订阅模式怎么实现的
  4. springboot main函数如何获取application
  5. aop怎么实现
  6. cglib jdk反射底层怎么实现
  7. 反射的对象和new有啥区别
  8. jvm了解多少
  9. cms
  10. 限流,如何实现每次通过三个线程
  11. 设计模式,你在写代码的时候什么情况下会用设计模式
  12. 观察者模式详述
  13. 除了spring其他框架有吗
  14. mysql索引实现,叶子节点数据结构,有啥好处
  15. limit有啥用
  16. 一堆数据里,怎么取6000万后10条数据
  17. 线程池原实现原理,核心参数
  18. redis几种模式,每种简单说下
  19. redis主从机制
  20. 连续字符串,获取最长不重复的子串长度

商汤科技

  1. 一个接口如何设置限制访问次数
  2. 接口如何进行隔离
  3. 接口访问如何保证不被篡改
  4. http响应码有几种
  5. 异常类型有几种,请说出10种常见类型
  6. 常见的锁有哪些,如何实现的
  7. jvm内存模型

货拉拉

  1. 某个热点key全部打在redis的机器上,如何解决。
  2. rabbitmq中routingkey和交换机是如何绑定的,一条消息从生产到消费,rabbitmq如何运转的?
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值