最后
Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
为什么?
Redis所有单个命令都是原子性的。
为什么具有原子性?
Redis是单线程的。 每个命令是一个任务,这些任务都会由Redis的线程去负责执行,任务要么执行成功,要么执行失败。
选择一个项目说说?
答:特色1:单点登录:不需跨域的时候,redis存储共享信息,拦截后查cookie是否含token,用jwt解密查看用户名id等信息。登录和注册时,根据表单提交的信息,生成相应的token,用jwt给token加密并存入cookie。需跨域时:用urll带着参数token去跨域。
答:特色2:配置热部署:不需要重启服务,就让配置信息实时生效,例如常变化的配置(登录页、过期时间)。config.properties中放变化属性,config类中设置refreshconfig()方法,用资源加载器读取config.properties文件,并转为输入流,加载进新config.properties文件。
问:若有很多台机器同时工作,怎么保证每台机器的配置文件都重加载?
回答不上,面试官提醒用消息队列。
由于项目经验不足,项目这里回答的不好,所以后面的几面几乎不问项目了,都在问基础和场景,大厂面试就是不死抓短板,而是发掘优点,只要优点足够好就能通关。每面结束让我提问,我都会问我最大的缺点是什么,面试官的建议我回去会继续改进。
二面主管基础面:
HashMap线程不安全的体现?
扩容会造成死循环。
怎样解决这个问题?
1.7用头插法,1.8改为尾插法。
这个改变有什么作用?
JDK1.8是因为加入了红黑树使用尾插法,能避免出现逆序且链表死循环的问题(向右找地方查,向左get)。如果两个线程都发现HashMap需要扩容,它们会同时帮助扩容。 因为头插法,存储在链表中的元素的次序会反过来,如果条件竞争发送了,会出现环形链表。 之后当我们get(key)操作时,就有可能发生死循环。
字节码文件中都有哪些结构?
Class文件中有魔数、主版本号+副版本号、常量池、访问标志、索引、字段表集合、方法集合、方法计数器。
了解spring 吗?例举一下Spring 框架用到的设计模式?
1、单例模式:spring创建的bean默认为singleton,对于类的实例提供一个访问它的全局访问点。2、工厂模式:BeanFactory功能(管理所有bean生命周期)。3、代理模式:aop中有体现,Jdk/Cglib。
三面交叉面场景面:
微信抢红包算法,保证随机性?
答:设共Y元,K人。每个人至少分到0.01元,剩(Y-K*0.01)元。把剩下的钱用(K-1)把刀切成K份----在剩余钱中随机取一个范围内的数,即为刀的位置,刀-剩余钱初始值=一份红包
抢红包如何保证每份红包有最多最少范围?
答:这个因为之后会更新一篇关于微信红包算法以及带上下限的红包算法里面会讲到
四面交叉面综合面:
面试官是个在美国工作的阿里云大佬,全程和蔼地让我把简历上的几个项目,详细描述特色功能、难点和亮点。这里注意尽量把业务和源码底层联系到一起,例如spring中的一些aop等。
1、app开发时间用了两个月,开发周期较长,是几个人一起开发的?答:一个人。2、在这个项目中有没有人在带我,在哪里帮助了我?答:有一个同事带我,在很多需要经验判断的地方帮助我,例如栏目用ajax穿***行增加删除,两个ajax动作不同步导致经常出错,同事让我把ajax同步,加了代码{ajax:false;}。还有我做了图片瀑布流,但经常卡顿,同事教我进行调试查看每个js文件用的时间,把https://这样外来的引用下载,变为本地引用就不卡了。
当然大家肯定会说只问了这么点嘛这么简单,肯定不止这些,其实主要是告诉大家不要把面试官想的那么可怕,你不是去和他battle,面试前做好准备,心态很重要
去面试之前其实我也准备了蛮久,包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发,设计模式,MySQL等知识点解析,各种面试真题一直刷,如果大家有需要,这里可以分享一波哦 关注后点这里
一:线程、数据库、算法、分布式、微服务、框架、Spring相关知识
读者福利
分享一份自己整理好的Java面试手册,还有一些面试题pdf
不要停下自己学习的脚步
新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**