面试流程
先说下面试流程,一般大公司都有3-4轮技术面,1轮的HR面。就蚂蚁金服而言,我共经历了4轮技术面,前两轮主要是问基础和项目实现,第3轮是交叉面,两个面试官,主要是问项目实现和拓展。第4轮是部门老大面,主要就问一些架构、技术和业务的理解、个人发展比较抽象的东西了,现在基本也是这样的。
要注意的点
- 简历一到两页为最佳,将项目经历写2-3个左右就差不多了,一定要写最有亮点的项目
- 工作经历的起始时间要写清楚,另外大公司都有背调,不要合并或省略一些比较短的工作经历,影响的可能不只是这次面试,而是之后可能都无法进这家公司
- 博客没什么好文章,github没好项目就不要写在简历中了
- 对于面试官的问题,想清楚再回答,如果觉得需要的时间可能比较长,可以跟面试官说我思考下、我整理下思路之类的
- 面试的过程中注意语速和吐字,本人在做面试官后,发现很多人说话语速很快,或吐字不清,导致原本会的问题也会让面试官觉得你没答到点上(尤其是电话面)
- 面试完后不要直接问面试结果
技术考察
- 总的来说,技术相关的考察主要分为两大块,一是基础,二是经验,基础包括java基础、数据库、中间件等,来自于日常的积累和面试前的准备。
- 经验包括以往做过的项目、解决的问题、以及一些场景题(比如你的项目如果流量大了十倍如何保证可用)。
注意,注意,后面给大家分享的大厂面试真题专题,都给大家总结在PDF文件里面了,大家需要的可以关注微信公众号:【Java程序员聚集地】获取资料
多线程面试真题:
- Java中实现多线程有几种方法
- 继承 Thread 类
- 实现 Runnable 接口。
- ExecutorService、 Callable、 Future 有返回值线程
- 基于线程池的方式
- 4 种线程池
- 如何停止一个正在运行的线程
- notify()和notifyAll()有什么区别?
- sleep()和wait() 有什么区别?
- volatile 是什么?可以保证有序性吗?
- Thread 类中的start() 和 run() 方法有什么区别?
- 为什么wait, notify 和 notifyAll这些方法不在thread类里面?
- 为什么wait和notify方法要在同步块中调用?
- Java中interrupted 和 isInterruptedd方法的区别?
- Java中interrupted 和 isInterruptedd方法的区别?
- 有三个线程T1,T2,T3,如何保证顺序执行?
- SynchronizedMap和ConcurrentHashMap有什么区别?
- 什么是线程安全
- Thread类中的yield方法有什么作用?
- Java线程池中submit() 和 execute()方法有什么区别?
Mysql面试真题:
- 数据库存储引擎
- InnoDB(B+树)
- MyIASM
- Memory
- 数据库引擎有哪些
- InnoDB与MyISAM的区别
- 索引
- 常见索引原则有
- 数据库的三范式是什么
- 第一范式(1st NF - 列都是不可再分)
- 第二范式(2nd NF- 每个表只描述一件事情)
- 第三范式(3rd NF- 不存在对非主键列的传递依赖)
- 数据库是事务
- SQL优化
- 简单说一说drop、delete与truncate的区别
- 什么是视图
- 什么是内联接、左外联接、右外联接?
- 并发事务带来哪些问题?
- 事务隔离级别有哪些?MySQL的默认隔离级别是?
- 大表如何优化?
Redis面试真题:
- 什么是 Redis?
- Redis 与其他 key-value 存储有什么不同?
- Redis 的数据类型?
- 使用 Redis 有哪些好处?
- Redis 相比 Memcached 有哪些优势?
- Memcache 与 Redis 的区别都有哪些?
- Redis 是单进程单线程的?
- 一个字符串类型的值能存储最大容量是多少?
- Redis持久化机制
- 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
- 热点数据和冷数据是什么
- 单线程的redis为什么这么快
- redis的数据类型,以及每种数据类型的使用场景
- redis的过期策略以及内存淘汰机制
- Redis 常见性能问题和解决方案?
- 为什么Redis的操作是原子性的,怎么保证原子性的?
- Redis事务
- Redis 的持久化机制是什么?各自的优缺点?
- Redis 常见性能问题和解决方案:
- redis 过期键的删除策略?