说明:
构建一个本地缓存,缓存的对象是用户ID以及部分用户的信息。
当从缓存中获取某个用户数据时,如果发现该用户数据上次更新时间超过30分钟,则需要更新一次该缓存。
-
需考虑多线程访问的情况。
-
请不要使用第三方类库实现。
-
可以添加适当日志。
-
可以有适当的伪代码。
完成下面的代码
题目是让在 考虑多线程的情况下实现一个缓存,题目相对简单(经历过2018的阿里校招在线笔试,简答题难度至今 记(还)忆(是)犹(不)新(会)!!!),时间上要求宽松,24小时内答完即可。
第二关:一轮电话面试
==========
笔试题提交完毕后,大约2天后,收到一个来自于杭州蚂蚁金服IP的固定电话,不巧当时正在另外一家单位面试,恰逢一面结束,等待二面的空隙里,没办法,接了电话果然是邀请马上进行一轮电面。内心是崩溃的…。和面试官说了暂时不方便,约了半小时后再开始,面试官很爽快的同意了。
一开始依旧是自我介绍,一面提问的问题很多,很杂,涉及面很广,着重于基础,共面了55分钟左右。事后回忆问题如下:
-
jvm内存管理和分配
-
Redis
-
数据库乐观锁
-
currenthashmap的缺点
-
数据库并发
-
dubbo的调用模式,序列化
-
事务的最大级别,跨库?跨表?
-
dubbo上游100万,下游10万,如何处理
-
用户一次请求访问web的详细过程(从浏览器到web服务器经历详细过程)
-
spring的bean的周期
-
详细说下参与的项目的架构
-
hashmap 触发红黑树
-
MySQL支持的跨库事务
-
…
第三关:二轮电话面试
==========
距离一面过了约一周,二面姗姗来迟。与一面的Java基础相比,二面更偏重于提问 经历的项目的架构,以及使用的框架的底层原理。(突破了会用的范围,理解框架的底层实现原理很重要,但这个很容易忽略!)。内心忐忑的聊了45分钟左右,结束了二面。
事后回忆二面问题如下:
-
说一说你最近参与的印象最深的项目,项目的架构,用到哪些技术
-
说一说spring容器的实现方式
-
说一说redis缓存应用场景
总结
至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:
- 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力;
- 项目经历:只写明星项目,描述遵循 STAR 法则;
- 简历印象:简历遵循三大原则:清晰,简短,必要,要有的放矢,不要海投;
以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频
g-H7v1cWpn-1714238003432)]
[外链图片转存中…(img-SMUalG3z-1714238003433)]
[外链图片转存中…(img-LPnlWzfE-1714238003433)]