前言
抱着侥幸心理投了字节跳动后台JAVA开发岗,居然收到通知去面试,一面下整个人来都是懵逼的,不知道我对着面试官都说了些啥(捂脸~~)。侥幸一面居然过了,三天后接到二面通知,结果这次不再幸运,败在数据库和一些JAVA知识手上。在此之前我没咋复习数据库、JVM、JAVA一类的知识,有点后悔,下面给大家分享看下我的字节一二面都问了那些问题。。。
拼多多二面:多线程+乐观锁和悲观锁+并发、
一面
1、并发编程三要素?
2、实现可见性的方法有哪些?
3、多线程的价值?
4、创建线程的有哪些方式?
5、创建线程的三种方式的对比?
6、什么是线程池?有哪几种创建方式?
7、线程池的优点?
8、CyclicBarrier 和 CountDownLatch 的区别
二面
1、介绍你的项目?
2、什么是乐观锁和悲观锁
3、sleep 方法和 wait 方法有什么区别?
4、多线程同步有哪几种方法?
5、Linux 环境下如何查找哪个线程使用 CPU 最长
6、Java 死锁以及如何避免?
7、如果你提交任务时,线程池