• 字节跳动面试相关题


    字节跳动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 其他部分

    • 高并发系统的限流如何实现?
    • 高并发秒杀系统的设计
    • 负载均衡如何设计?
  • 相关阅读:
    gitlab 升级
    通过 备份文件 恢复/迁移 gitlab
    gitlab 远程 定时备份
    PHP 中替换若干字符串字串为数组中的值,不用循环,非常高效
    php 在客户端生成txt文件并且下载
    Mysql时间戳函数
    mysql中在表中insert数据时,有重复主键id时,变成update
    css中解决img在a元素中使得a元素撑大写法
    php以excel的形式将数据输出
    css中常用的hack
  • 原文地址:https://www.cnblogs.com/guanbin-529/p/12861054.html
Copyright © 2020-2023  润新知