java变量与常量详解,进阶加薪全靠它!

2023-10-31 05:59

本文主要是介绍java变量与常量详解,进阶加薪全靠它!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面

很多小伙伴留言说让我写一些工作过程中的真实案例,写些啥呢?想来想去,写一篇我在以前公司从零开始到用户超千万的数据库架构升级演变的过程吧。

本文记录了我之前初到一家创业公司,从零开始到用户超千万,系统压力暴增的情况下是如何一步步优化MySQL数据库的,以及数据库架构升级的演变过程。升级的过程极具技术挑战性,也从中收获不少。希望能够为小伙伴们带来实质性的帮助。

阿里一面

  1. 讲一下 HashMap 中 put 方法过程?
  2. 对 Key求Hash 值,然后再计算 下标。
  3. 如果没有碰撞,直接放入桶中,
  4. 如果碰撞了,以链表的方式链接到后面,
  5. 如果链表长度超过阀值(TREEIFY_THRESHOLD == 8),就把链表转成红黑树。
  6. GC 算法,除了常见的复制算法,标记整理,标记清除算法,还有哪些?
  7. 增量算法。主要思想是垃圾收集线程与用户线程交替执行。也可以说一边执行垃圾回收一边执行用户代码。但是这种方法会造成系统吞吐量下降。
  8. Spring 主要思想是什么,回答 IOC 和AOP,怎么自己实现 AOP ?
  9. 使用基于反射的动态代理
  10. SpringAOP 用的哪一种代理

阿里二面

  1. HashMap 怎样解决冲突,讲一下扩容过程,假如一个值在原数组中,现在移动了新数组,位置肯定改变了,那是什么定位到在这个值新数组中的位置,
  2. 将新节点加到链表后,
  3. 容量扩充为原来的两倍,然后对每个节点重新计算哈希值。
  4. 这个值只可能在两个地方,一个是原下标的位置,另一种是在下标为 <原下标+原容量> 的位置。
  5. 抛开 HashMap,hash 冲突有哪些解决办法?
  6. 10w行数据,每行一个单词,统计出现次数出现最多的前100个。
  7. 一个文本文件,给你一个单词,判断单词是否出现。
  8. Java 访问修饰符权限的区别;
  9. public 所有类都可访问
  10. protected 只允许包内、子类访问。
  11. 默认 只允许包内访问
  12. private 只允许类内访问
  13. String 是否可以继承, “+” 怎样实现?
  14. String 是 final 类,不可继承。

阿里三面

  1. 线程安全性
  2. HashMap、ConcurrentHashMap 区别。
  3. 索引计算消除了最高位的影响
  4. 默认容量: 16(若定义了初始容量©,容量会定义为大于(c + (c >>> 1) +1) 的最小 2^n)
  5. 例如:初始容量为 13,则真正的容量是 32.
  6. 线程安全,并发性能较好
  7. 将M个平均长度为N的有序队列组合成一个有序队列
  8. 10亿条短信,找出前一万条重复率高的
  9. 对一万条数据排序,你认为最好的方式是什么
  10. 假如有100万个玩家,需要对这100W个玩家的积分中前100名的积分,按照顺序显示在网站中,要求是实时更新的。积分可能由做的任务和获得的金钱决定。问如何对着100万个玩家前100名的积分进行实时更新?
  11. 1.1 支持断点续传。RANGE:bytes=XXX 表示要求服务器从文件 XXX 字节处开始传送
  12. 还有一些其他的改进,有兴趣可以自行查阅相关资料
  13. HTTP 和 HTTPS 的主要区别
  14. 安全。HTTP 直接与 TCP 通信,而 HTTPS 是先与 SSL(加密) 通信,然后再由 SSL 和 TCP 通信

面试总结及建议

每一次Java面试,其实都是一次学习机会,是对自己技术知识栈的梳理、考核、复盘。我们应该抱着学习的态度,认真对待,找到自己比较薄弱的环节,尽快去查漏补缺学习巩固。对于面试来说,其实也没有太多的技巧可言,面试官主要看重的就是个人能力,无非就是两个方面:

  • 技术广度
  • 技术深度

最后

如何获取免费架构学习资料?

资料获取方式:点击下方蓝色传送门

Java学习、面试;文档、视频资源免费获取

由于篇幅原因,就不多做展示了
pHCze-1623897810164)]

[外链图片转存中…(img-JDbs5WMN-1623897810166)]

由于篇幅原因,就不多做展示了

这篇关于java变量与常量详解,进阶加薪全靠它!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/313286

相关文章

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线