- 一、面试问题
- 1、数据库
- 2、Java
- 2.1 基础
- 2.2 并发
- 2.3 GC
- 2.4 其他
- 3、大数据
- 4、计网
- 5、操作系统
- 6、算法
- 7、系统设计
- 8、其他
- 二、长期改进
1、什么情况会行锁,什么情况会表锁,怎么操作
2、哪些命令可以查看数据聚集度?
3、Binlog数据格式
1、StringBuffer为什么线程安全?
2、CAS(*3)是什么,你有哪些应用
3、HashTable与ConcurrentHashMap的区别?
4、concurrent底层机制?
5、concurrent实践及深入
6、HashMap底层原理,Concurrent底层原理,为什么会有相应作用,CAS在什么情况下不如Synchronized
7、线程池什么时候会进入workQueue,什么时候会拒绝?
8、序列号UID含义
9、Java哪些是用乐观锁实现地?
10、哪些关键字跟volatile一样保持可见性
11、多线程如何控制,多线程问题如何定位
Linux后台如何监控,监控工具有哪些
12、多线程生产者与消费者,如何保持数据一致性。
13、多线程搜索问题 & 答案,位置是Java并发(一)-- JUC工具
1、强引用、软引用、弱引用、幻象引用等解决的问题是什么?为什么会出现这几个分类?
2、进程与JVM线程控制的关系
3、GC如何调优
4、进程 如何通过GC管理线程
1、DeleteQueue实现
2、单例模式代码(*2)
3、线程安全的单例模式实现
1、HDFS读写数据时,通信过程?
2、SQL如何解析到算子,这中间的过程
3、Task如何被调度,在物理层面?
尤其是无法通过HashPartition实现时?
4、Spark 启动流程、处理流程
5、Spark与Hadoop的区别是什么?
6、Spark调度系统,Spark启动流程
DAG作用,如何连起来,为什么根据宽窄依赖切割
7、Spark shuffle演化?为什么根据shuffle来区分Stage?怎么划分?
1、为什么用TCP建立连接,而不用HTTP?
2、HTTP 连接过程?
3、HTTP四类基本操作?
4、状态码
5、端口号数量
6、四次挥手状态转换
1、进程间通信
2、查看后台进程状态
3、内存状态
4、大数据如何调优
1、二叉树路径和
2、自动配板–用背包算法予以解决
1、如何设计一个高并发秒杀系统(*2)
2、userid, ip, →城市
3、给定id,如何快速确定是不是VIP
1、写一个脚本自动上传自己的笔记
2、尽量避免与面试官发生对抗
1、源码阅读
要理解设计点、思想、优劣势



