zoukankan      html  css  js  c++  java
  • 字节跳动面试相关题

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

    • 高并发系统的限流如何实现?
    • 高并发秒杀系统的设计
    • 负载均衡如何设计?
  • 相关阅读:
    Android NestedScrolling与分发机制 二
    Android NestedScrolling与分发机制
    Android:View随手指移动
    开发错误记录5-Failed to sync Gradle project ‘HideTitleDemo’
    TouchSlop与VelocityTracker认识
    Android判断Touch为滑动事件还是操作控件
    Android-动画简介
    开发错误记录6----友盟社会化分享与支付宝-微信支付问题
    设计模式之抽象工厂模式
    面试题_抽象工厂,字符反串,冒泡与选择排序
  • 原文地址:https://www.cnblogs.com/guanbin-529/p/12861054.html
Copyright © 2011-2022 走看看