事情是这样的...
面试官:你好!你的一些信息我们已经初步了解了,咱们直接进入正题吧!
程序员:好的!
面试官:嗯,对多线程有一些深入了解是吧?
程序员:是的,多线程本身是学习Java语言入门到高级的必备能力,所以平时看得比较多
ee35ec894c44e04184061489739e92f2_77713085-d6a0-4330-8ed6-0e558ddea12f_from=pc.jpg面试官:入门?呵呵~好那我就来好好问问,多线程有什么用?
程序员:一,发挥多核CPU 的优势;二,防止阻塞;三,便于建模
面试官:说说Java 实现线程的几种方式
程序员:继承 Thread 类实现多线程;实现 Runnable 接口方式实现多线程;使用 ExecutorService、Callable、Future 实现有返回结果的多线程
面试官:多线程同步有哪几种方法?
程序员:Synchronized 关键字,Lock 锁实现,分布式锁等
面试官:线程中的 wait()和 sleep()方法有什么区别?
程序员:sleep 方法和 wait 方法都可以用来放弃 CPU 一定的时间,不同点在于如果线程持有某个对象的监视器,sleep 方法不会放弃这个对象的监视器,wait 方法会放弃这个对象的监视器
面试官:线程数过多会造成什么异常?
程序员:线程过多会造成栈溢出,也有可能会造成堆异常
面试官:说一说乐观锁、悲观锁、自旋锁、死锁、活锁、饥饿、无锁、公平锁、非公平锁、重入锁、共享锁、独占锁、重量级锁、轻量级锁、偏向锁、分段锁、同步锁
6275f64ea9669d156addefec8512c474_08d186cf46764579b3036414e5c6f9aa_from=pc.jpg程序员:...念贯口吗?
面试官:说不出来没关系,结合线程复用、线程池组成、拒绝策略和Java线程池工作过程来说说线程池工作原理
程序员:...
面试官:不知道?阻塞队列的原理呢?
程序员:...
面试官:这些都不知道,你写什么熟悉啊?
程序员:
面试官:行了,现在已经两点了,天色不早,回家等通知吧!
程序员:我TM写的熟悉又不是精通,你是不是搞我?
面试官:多线程都不敢写精通,你敢要26K?
敢要26k...要26k...26k...kkk...
你知道你和高薪的距离在哪里吗?
简单的多线程是Java编程入门必学知识之一,但是,基础的多线程知识远远无法满足成为一个高级Java工程师的标准。
要能熟练的解决并发等问题,充分了解线程池,知其然知其所以然,只有这样,在面试的时候,不是简简单单三五个小时能说完的。
具体需要掌握的内容下面有部分借鉴,由于多线程内容实在过多,小天这里就只把目录截出来了,由于鄙人不常在线可关注公众号【差点儿码不动】 获取
引流.jpg- 面试题类
- 线程实现
- 4中线程池
- 线程生命周期
- Java锁
- 线程基本方法
- 线程上下文切换
- 线程池原理
- Java阻塞队列原理
- ThreadLocal
- CAS
- AQS
- 进程调度算法
部分内容呈现:
ef6b3c18dd83f211757ac5009df481f2_cadef15ffa9c45a087b69f7200fa9138_from=pc.png 0c7f8b23895d9fa003da201f52242ee4_f148cc70197142758e59c362da580671_from=pc.png cdabb913f32485ea856f1d4c09e4e71f_9c0604d3522c4192a7f18f3adc9c5705_from=pc.png
网友评论