赞助

腾讯一面面试题

复盘

面试时间大约90分钟左右

  • 简单的自我介绍
  • 挑一个自己最熟悉的项目,讲解一下
  • 我个人讲的是会员项目。千万级的客户会员管理分库分表实现以及登陆注册开放平台设计
  • shardingsphere的分库分表规则怎么设置,业务讲清楚
  • 你们的mysql每日的QPS大致是多少

开始基础问答

  • Map的数据结构,大致说一下put方法的流程,如果key重复map是怎么处理的
  • 多线程接触过吧,多线程的concurrentHashMap的size方法怎么统计数量的,你怎么设计一个size统计数量的方法
  • 既然提到了volatile关键字,说一下为什么使用volatile吧
  • volatile怎么保证可见性以及禁止指令重排的?什么是指令重排?
  • 使用什么保证原子性?
  • synorized会有什么问题?
  • 说到自旋锁,能大致说下自旋锁的实现吗?目的是什么?使用自旋锁会导致什么问题?
  • 使用过aop吗?aop的动态代理有哪几种?使用过aspect-j吗?能不能说一下它的原理?
  • spring和springboot有什么区别?soringboot和springcloud有什么区别?
  • springcloud里面都有哪些组件?

redis方面

  • 你们使用到了redis的过期key通知策略,这个通知策略redis是怎么实现的?
  • redis有哪些数据结构?
  • list数据结构操作都有哪些命令?
  • 说到了跳表,那你说下跳表是怎样的数据结构吧,如果要查询某个值,时间复杂度是多少?
  • redis的几种数据类型里面,有哪几种使用了跳表?还是都使用了跳表?

数据库方面

  • 你们都使用过哪些数据库?
  • 说一下mysql的数据结构吧,mysql的索引存储结构,根据主键索引查询数据的时间复杂度?
  • 说一下覆盖索引吧,有多个索引的时候数据结构是怎样的?最左前缀匹配原则讲一下吧,说下它的数据结构以及查询顺序。

网络方面

  • 说一下常见的http响应码吧
  • 300和302有什么区别?
  • 三次握手和四次挥手说一下吧

linux服务器方面

  • 常用的linux命令?
  • 如何查看cpu?如何查看内存?
  • 线上环境如何查看java的堆栈信息

jvm方面

  • jvm常用的一些命令知道吗?查看堆栈信息的命令?

算法方面

  • 说一下快排吧
  • 还了解一些别的限流类的算法吗?

解决方案

  • 让你设计一个秒杀系统,你怎么设计?前端页面都有哪些?
posted @ 2021-01-29 12:05  念念不忘、  阅读(175)  评论(0编辑  收藏  举报