博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字节跳到面试题
阅读量:4044 次
发布时间:2019-05-24

本文共 1016 字,大约阅读时间需要 3 分钟。

字节跳动4面核心面试题

01 Zookeeper 部分

  • CAP定理
  • ZAB协议
  • leader选举算法和流程

02 Redis 部分

  • Redis的应用场景
  • Redis支持的数据类型(必考)
  • zset跳表的数据结构(必考)
  • Redis的数据过期策略(必考)
  • Redis的LRU过期策略的具体实现
  • 如何解决Redis缓存雪崩,缓存穿透问题
  • Redis的持久化机制(必考)
  • Redis的管道pipeline

03 Mysql 部分

  • 事务的基本要素
  • 事务隔离级别
  • 如何解决事务的并发问题(脏读,幻读)?
  • MVCC多版本并发控制?
  • binlog,redolog,undolog都是什么,起什么作用?
  • InnoDB的行锁/表锁?
  • myisam和innodb的区别,什么时候选择myisam?
  • 为什么选择B+树作为索引结构?
  • 索引B+树的叶子节点都可以存哪些东西?
  • 查询在什么时候不走(预期中的)索引?
  • sql如何优化?
  • explain是如何解析sql的?
  • order by原理

04 JVM 部分

  • 运行时数据区域(内存模型)
  • 垃圾回收机制
  • 垃圾回收算法
  • Minor GC和Full GC触发条件
  • GC中Stop the world
  • 各垃圾回收器的特点及区别
  • 双亲委派模型
  • JDBC和双亲委派模型关系

05 Java 基础部分

  • HashMap和ConcurrentHashMap区别
  • ConcurrentHashMap的数据结构
  • 高并发HashMap的环是如何产生的?
  • volatile作用
  • Atomic类如何保证原子性(CAS操作)
  • synchronized和Lock的区别
  • 为什么要使用线程池?
  • 核心线程池ThreadPoolExecutor的参数
  • ThreadPoolExecutor的工作流程
  • 如何控制线程池线程的优先级
  • 线程之间如何通信
  • Boolean占几个字节
  • jdk1.8/jdk1.7都分别新增了哪些特性?
  • Exception和Error

06 Spring 部分

  • Spring的IOC/AOP的实现
  • 动态代理的实现方式
  • Spring如何解决循环依赖(三级缓存)
  • Spring的后置处理器
  • Spring的@Transactional如何实现的?
  • Spring的事务传播级别
  • BeanFactory和ApplicationContext的联系和区别

07 其他部分

  • 高并发系统的限流如何实现?
  • 高并发秒杀系统的设计
  • 负载均衡如何设计?

转载地址:http://xvwci.baihongyu.com/

你可能感兴趣的文章
C++程序员的几种境界
查看>>
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>
VUE-Vue.js之$refs,父组件访问、修改子组件中 的数据
查看>>
Vue-子组件改变父级组件的信息
查看>>
Python自动化之pytest常用插件
查看>>
Python自动化之pytest框架使用详解
查看>>
【正则表达式】以个人的理解帮助大家认识正则表达式
查看>>
性能调优之iostat命令详解
查看>>
性能调优之iftop命令详解
查看>>
非关系型数据库(nosql)介绍
查看>>
移动端自动化测试-Windows-Android-Appium环境搭建
查看>>
Xpath使用方法
查看>>
移动端自动化测试-Mac-IOS-Appium环境搭建
查看>>
Selenium之前世今生
查看>>
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>