大家都知道,我最近利用业余时间搞了一个面试题小程序。也写了不少干货文章,今天早上心血来潮,发了 5 个面试题在群里,结果群炸了,不少人回答不少来,再不是就描述的不全。
面试题如下:
- volatile 的用途是啥? 能保证多线程共享变量的原子性么?
- threadlocal 是线程安全的么的?具体什么业务场景使用threadlocal
- 什么是强引用、软引用、弱引用、虚引用?
- wait方法释放锁么? notify/notifyall 释放锁么?sleep 释放锁么?
- LinkedHashMap 的原理和使用场景?
这题其实很简单了,而且我的公众号里基本上都写过这些知识点。比如:volatile 的用途是啥? 能保证多线程共享变量的原子性么?这题是多么的熟悉,相信不少看过我的这篇文章《Java 线程安全的3大核心:原子性、可见性、有序性》的应该都能回答上来。可惜啊,很多人不看。
再比如第二题:threadlocal 是线程安全的么的?具体什么业务场景使用threadlocal?我在 2018 年就写过相关文章《这样使用 ThreadLocal 对吗?》。虽然那个时候排版还不好,但是 Threadlocal 绝对是高频面试题了,所以必须要记牢了。
再看第三题:什么是强引用、软引用、弱引用、虚引用?我记得最近一个月左右才发了类似的文章吧。《手把手教你通过Java代码体验强引用、软引用、弱引用、虚引用的区别》是否很眼熟。但是对不起只有钱才能打动我,眼熟根本不值钱。
第四题:wait方法释放锁么? notify/notifyall 释放锁么?sleep 释放锁么?也是老早就写过的。《代码中的Thread.sleep(0) 有什么意义?是写错了吗?》、《java线程最熟悉而又陌生的知识点:sleep与wait》。这些知识点都在于平时的积累,你平时在地铁上,也或者是在公交上都是不错的学习时机。一定要从根上改变自己,996 才能与你无关。
第五题:LinkedHashMap 的原理和使用场景?本月才写过的内容《深入浅出LinkedHashMap原理和源码解毒》。
虽然平时大家都面向百度编程,但也要留意一下,面向面试编程。平时要关注某项技术的具体实现,某项技术的底层原理,还要稍微的记清楚一些概念,夹带一些简单的算法。做到这些 BAT 的大门为你们敞开。
更多精彩面试题,请关注我的程序员题库小程序。做到心中有数,面试无敌!
: » 这 5 个简单的面试题,把群炸了
原创文章,作者:wdmbts,如若转载,请注明出处:https://blog.ytso.com/252089.html