面试连环炮系列(三):Java中synchronized怎么用的
synchronized怎么用的;synchronized是可重入锁吗;synchronized的实现原理了解过吗;能说说synchronized的锁升级吗;
synchronized怎么用的;synchronized是可重入锁吗;synchronized的实现原理了解过吗;能说说synchronized的锁升级吗;
两步验证,是指用户登录账户的时候,除了要输入用户名和密码,还要求用户输入一个动态密码,为帐户添加了一层额外保护。这个动态密码要么是专门的硬件,要么由用户手机APP提供。即使入侵者窃取了用户密码,也会因不能使用用户手机而无法登录帐户。
2019下半年,我面试了一些公司的高级Java研发工程师岗位,公司都集中在深圳南山区科技园。一般公司的技术是两面,第一面是技术不错的小弟,第二面是当前职位的领导。多数小弟的水平堪忧,不看简历打游击战,想到什么问什么。领导的水平略好一些,但是也有不少游击战。
当时博主是个青涩的菜鸟,正在为团队创造着混乱的代码。多年的工作中,屡次被别人的代码坑的苦不堪言,回想起当年我留下的代码,肯定也坑害了后来的同僚。当阅读JDK源码或者其他优秀开源工程时,叹服作者代码构建之精良,他们都有共同的特点:精确的变量名、恰到好处的设计模式、详细而不赘述的注释等等。如今重读《代码整洁之道》,总结一下内容并加上自己的一些见解与大家分享。
友金所是一家位于深圳南山科技园的P2P网贷公司,用友集团控股。该公司采用渐进式的问答面试,没有笔试题。比如面试者说熟悉多线程,面试官就问哪些方式解决并发;面试者说采用Synchronized或者ReentrantLock,面试官便会追问Synchronized的实现原理,以及两种方式运用的场景和优劣,逐渐靠近底层原理,直至面试者答不上来才转换话题,阿里的面试官也通常采用这种方式。
这是一套网上收集的2019蚂蚁金服中高级Java工程师面试题。面试题考察范围比较广,兼顾了深度和广度,这里的答案仅供参考。