- 简述G1回收流程及G1适用场景
- 简述线程池原理
- 进程、线程和协程的区别和联系? 一个进程可以创建多少线程,和什么有关? 外中断和异常有什么区别?
- 如何解决mysql数据库锁表问题
- 简述进程调度算法
- 简述Linux下进程间通信方式方法
- 死锁是怎样产生的?如何解决死锁问题?
- 进程/线程同步的方法?进程同步和线程同步有什么区别?进程有哪几种状态?
- 什么是操作系统?什么是系统调用?并发、并行、同步、异步、阻塞、非阻塞概念区分。
- 操作系统的内存管理主要是做什么?操作系统的内存管理机制了解吗?内存管理有哪几种方式?
- 快表和多级页表分别解决了页表管理中很重要的两个问题。简单介绍一下吧!
- 分页机制和分段机制有哪些共同点和区别呢?逻辑地址和物理地址这两个概念,能解释一下吗?
- CPU寻址了解吗? 为什么需要虚拟地址空间? 什么是虚拟内存(Virtual Memory)?
- Please describe what happens when you click on a URL in your browser.
- 面向对象有哪些特征,并用你熟悉的语言描述如何实现。
- 请介绍一下TCP三次握手原理及过程。
- 用熟悉的实现支持多线程的单例模式,并列举优缺点
- 请描述HTTPS连接和通信的过程。
- 请介绍一个编程语言中的内存管理模型,对象生命周期,或者有哪些高效安全的管理方式
- 比较B树和B+树,并列出应用场景
- 针对你熟悉的编程语言和版本,描述HashMap如何实现的。
- 悲观锁和乐观锁
- 针对你熟悉的编程语言和版本,描述其基本数据类型和字节数
- 进程和线程,区别,哪个效率高,为什么
- 针对你熟悉的编程语言,描述字符串类型的内存管理机制,比如String,StringBuffer, StringBuilder区别
- 死锁的条件,如何解决
- 针对你熟悉的编程语言和版本,描述其泛型
- 请问Redis 相比 Memcached 有哪些优势?
- mysqI索引结构,特点,为什么使用这个
- 聚集索引和非聚集索引
- 垃圾回收机制GC, cms, G1,垃圾回收的算法
- 子类和父类的实例变量和方法有什么区别
- 重载和覆盖区别,返回值类型不同,可以重载吗,为什么
- mysql底层原理,为什么效率高,主键能不能太大,为什么
- linux查询tcp连接处理CLOSE_ WAIT的状态的数目
- RabbitMQ, kafka, RocketMQ, ActiveMQ, 以及其他消息中间件
- redis为什么效率高,线程,数据结构,网络模型,aio, nio, bio, 为什么这么设计?如何处理高并发
- 数据仓库和数据湖的区别
- 分布系统的设计,分布式系统CAP,分布式系统的模型
- linux环境下的线上业务管理有没有,如何管理
- redis的集合有没有限制,限制是多少
- redis的1w条的插入和更新有什么区别
- MySQL join的底层原理是什么,有哪几种(不是左右连接这种)
- 针对你熟悉的编程语言和版本,描述锁的实现
- Linux命令查询一个文件的行数
- Linux命令查询一个文件内出现重复最多的单词
- 针对你熟悉的一门语言,描述数组排序的实现
- 请描述协程和线程,进程的区别
- Spring IOC AOP
- MySQL主从原理
- Spring中用到的设计模式
- Kafka的架构
- SpringMVC的启动流程
- Zookeeper的原理
- etcd原理
- Java ReentrantLock 原理与使用
- Python RLock 原理与使用
用自己熟悉的语言创建一个线程池。
Semaphore 的实现原理
并发队列:什么是阻塞队列,什么是非阻塞队列,请分别举例子说明。最好附带上使用场景。
- 介绍一下 Java 中的 ConcurrentLinkedQueue,ArrayBlockingQueue,LinkedBlockingQueue
- Java: Atomic 的使用场景以及原理
- C++: std::atomic 的使用方式以及原理。
- Java: 简述乐观锁,悲观锁,公平/非公平锁
- C++: 简述 lock_guard, 和 unique_lock
- Reactor模式的优势
- 消息队列如何避免重复消费
- epoll的实现
- C/C++/Java/GoLang如何分配内存
- Linux mmap原理和优势
- Linux Shared Memory原理和优势
- Redis集群如何保持数据一致
- Redis分布式锁原理
- 描述一种分布式共识算法
- Docker 原理
- 如何解决TCP拥堵
- K8S 原理
- vistor pattern 介绍
- listener pattern 介绍
- 事务隔离的几个级别
- 逃逸分析
- 自旋锁
- Linux下动态链接和静态链接的优缺点;
- C++11“完美转发”的作用,举例说明;
- Redis的一致性算法
- 实现C++ std::next_permutation;
- 线程joinable/detach区别和实现
- 策略模式
- 你根据什么来决定你的项目用sql还是nosql database?
- 实现两线程交替打印
- 聊聊缓存击穿、缓存穿透、缓存雪奔
- https://mp.weixin.qq.com/s/RSvsxTJApxbw9PAlxMKXww
- 布隆过滤器是什么?有什么用?
- https://mp.weixin.qq.com/s/BfAHWsnQkre4iwOuT-DVsA
- ThreadLocal真的会造成内存泄露?
- https://mp.weixin.qq.com/s/pMu7IGUDFwV0drf-Vwl4Sw
- RocketMQ,为什么要主动拉取消息而不使用事件监听方式?
- 讲讲Java中的垃圾回收器是怎么工作的
- 请你设计一个算法,用来压缩一段URL?
- 谈一谈,id全局唯一且自增,如何实现?
- 如果服务器的很多个端口处于close wait是什么情况 还问了epoll触发机制有哪些
- 描述一种语言内建最小堆的实现
- close wait 就是服务器端还有数据给客户端发 但是服务器端不会再发送数据给客户端? epoll就 et和lt两种是吗
- Linux 文件系统相关,inode结构,软硬连接,以及文件描述符是什么,怎么去修改,最多允许多少?
- 一道SQL语句题目,要求我建立合适的索引,并解释为什么(实际上考察B+树结构、最左前缀等知识)
- Linux 读写数据的整个流程,内核状态切换;Mmap(内存映射)和sendFile函数零拷贝什么原理?
- 简述RedLock多节点分布式锁算法
- 简述如何设计延时队列
- Kafka如何保证消息有序不丢?
- Redis 为什么这么快
- K8S 为何舍弃 Docker
- Kafka 为何舍弃 ZooKeeper
- 父进程死掉子进程会怎么样?子进程挂掉父进程呢?知道僵尸进程吗,Linux会怎么处理?
- Raft figure8。为什么Leader不能直接commit前一个任期留下了的log?如果这样做会出现什么问题?
- 两阶段提交的工作流程
- 一个程序从加载到运行,中间发生了什么?
- 两阶段锁的工作原理
- 讲一讲CAP。为什么会有CP、CA的抉择?
- 分布式事务和普通事务有什么区别吗?
- 讲一讲你了解的IO多路复用,他们有什么区别。(selec, poll, epoll)
- 分布式系统一致性的需求和解决方案
- Redis 哨兵
- Delete查询是否可以用索引
- MySQL如何实现事务隔离
- 计算机总共有哪几种底层机制来保证并发的正确
- Facebook网络架构
- Facebook宕机原因
- Facebook宕机解决的办法
- 如何排查线程阻塞
- 电商系统如何分库分表
- 拥塞控制算法原理如BBR
- 简述一本语言中对象的深浅拷贝
- MVCC 原理2/4,3/4
- MVCC 原理4/4
- main 函数原理
- Nacos 原理
- Redis 槽位原理
- 内存计算的优势
- 微服务优缺点
- 描述一种语言的内存区域
- 描述一种语言某些的接口
- 描述一种语言多线程实现方式
- 描述一种语言的异常分类
- 描述一种敏捷开发框架
- 服务发现原理
- Netty 原理
- 描述网络架构
- 描述一种日志框架
- ZooKeeper原理
- Kafka 原理
- Rabbit 原理
- HBase 原理
- MongoDB 原理
- Canssdra 原理
- 设计模式的原则
- 负载均衡原理
- 数据库引擎比较
- Paxos 原理
- AES 原理
- Hadoop 原理
- Spark 原理
- Storm 原理
- YARN 原理
- 决策树原理
- 云计算原理
- 图数据库优势
- 友元函数实现机制
- 单继承或多继承情况下的虚函数表分析
- es与solr对比
- es如何保持数据一致性
- Spring Cloud与Dubbo对比
- 简述MySQL索引优化方法、步骤
- 简述MySQL隔离级别
- MQ对比分析
- 简述redis数据类型和分布式锁
- 简述redis扛不住怎么办,不允许限流降级