当前位置: 首页 > news >正文

10月Java行情 回暖?

最近面试 Java 开发,看看行情。总的来说没有前几年好,真的是互联网寒冬,面试机会都比以前少了不少,很多互联网公司都在降本增效,只招少量的人。如果你能约到面试就好好珍惜,记住不要裸辞,不要裸辞,不要裸辞,能狗就狗到明年再看看,骑驴找马也未尝不可。其实不论互联网,最近几年各行各业都不好过,房价最能反映一个城市的经济状况,看看最近跌成啥样了。

另外投简历的时候分享几个技巧。

  1. 月底投 hr 冲 kpi 概率比较大(不是说不让投,而是说要有心理准备)
  2. 投最近活跃的职位(3 天前活跃的基本就不要看了)
  3. 打招呼用语用自定义的,比如说,我是 xxx,几年经验,会什么,之前是做什么的,我能投简历给你看看么?这样获得回复的几率会大一些
  4. 岗位描述很宽泛的很可能是为了宣传公司
  5. 多个招聘软件看看,别只会用 BOSS 直聘
  6. 网上或者找朋友要一个内推码或许有用
  7. 面试前一定要刷面试题,不喜欢背也要刷,可以应付大部分面试
  8. 如果工作经验 3 年以上,项目要侧重准备

下面我分享一些面试经常遇到的面试题(3-5 年工作经验),希望对大家都能找到满意的工作。

常见面试题

  1. user 表只有 id 字段,查询出具有重复的 id
SELECT id, COUNT(id) AS id_count
FROM user_table
GROUP BY id
HAVING COUNT(id) > 1;
  1. 动态代理

https://segmentfault.com/a/1190000040680716

  1. 分布式事务存在的问题

https://pdai.tech/md/arch/arch-z-transection.html

  1. SpringBoot 自动装配原理

https://javaguide.cn/system-design/framework/spring/spring-boot-auto-assembly-principles.html

  1. 索引失效的场景
  • 创建了组合索引,但查询条件未准守最左匹配原则
  • 在索引列上进行计算、函数、类型转换等操作
  • 以 % 开头的 LIKE 查询比如 LIKE ‘%abc’
  • 查询条件中使用 OR,且 OR 的前后条件中有一个列没有索引,涉及的索引都不会被使用到
  • IN 的取值范围较大时会导致索引失效,走全表扫描(NOT IN 和 IN 的失效场景相同)
  • 发生隐式转换
  • 查询数据占全表的 90%以上,MySQL 会认为走全文检索会比使用索引更快
  1. 索引为什么使用 B+树

https://www.xiaolincoding.com/mysql/index/why_index_chose_bpuls_tree.html#%E4%B8%BA%E4%BB%80%E4%B9%88-mysql-%E9%87%87%E7%94%A8-b-%E6%A0%91%E4%BD%9C%E4%B8%BA%E7%B4%A2%E5%BC%95

  1. Java 线程池参数
  • corePoolSize: 任务队列未达到队列容量时,最大可以同时运行的线程数量。
  • maximumPoolSize: 任务队列中存放的任务达到队列容量的时候,当前可以同时运行的线程数量变为最大线程数。
  • workQueue: 新任务来的时候会先判断当前运行的线程数量是否达到核心线程数,如果达到的话,新任务就会被存放在队列中。
  • keepAliveTime: 线程池中的线程数量大于 corePoolSize 的时候,如果这时没有新的任务提交,多余的空闲线程不会立即销毁,而是会等待,直到等待的时间超过了 keepAliveTime 才会被回收销毁,线程池回收线程时,会对核心线程和非核心线程一视同仁,直到线程池中线程的数量等于 corePoolSize ,回收过程才会停止。
  • unit: keepAliveTime 参数的时间单位。
  • threadFactory: executor 创建新线程的时候会用到。
  • handler: 饱和策略。
  1. Redis 为什么快?
  • Redis 基于内存,内存的访问速度是磁盘的上千倍。
  • Redis 基于 Reactor 模式设计开发了一套高效的事件处理模型,主要是单线程事件循环和 IO 多路复用(Redis 线程模式后面会详细介绍到)
  • Redis 内置了多种优化过后的数据类型/结构实现,性能非常高。
  1. Redis IO 多路复用

https://xie.infoq.cn/article/b3816e9fe3ac77684b4f29348

  1. 如何解决 OOM

https://juejin.cn/post/7205141492264976445

  1. HashMap 中的红黑树

https://javaguide.cn/java/collection/hashmap-source-code.html

  1. 如何应对反爬虫
  • 控制请求频率
  • 使用 IP 代理池
  • 使用自动化测试框架
  1. Mybatis $ 和#区别

#{}方式能够很大程度防止 sql 注入,${}方式无法防止 Sql 注入

  1. Mybatis 一级二级缓存

https://tech.meituan.com/2018/01/19/mybatis-cache.html

  1. 线程安全的单例模式
public class Singleton {private volatile static Singleton uniqueInstance;private Singleton() {}public  static Singleton getUniqueInstance() {//先判断对象是否已经实例过,没有实例化过才进入加锁代码if (uniqueInstance == null) {//类对象加锁synchronized (Singleton.class) {if (uniqueInstance == null) {uniqueInstance = new Singleton();}}}return uniqueInstance;}
}
  1. 悲观锁和乐观锁

https://javaguide.cn/java/concurrent/optimistic-lock-and-pessimistic-lock.html

  1. Sping 事务隔离级别
  • TransactionDefinition.ISOLATION_DEFAULT: 使用后端数据库默认的隔离级别,MySQL 默认采用的 REPEATABLE_READ 隔离级别 Oracle 默认采用的 READ_COMMITTED 隔离级别。
  • TransactionDefinition.ISOLATION_READ_UNCOMMITTED: 最低的隔离级别,使用这个隔离级别很少,因为它允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。
  • TransactionDefinition.ISOLATION_READ_COMMITTED: 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。
  • TransactionDefinition.ISOLATION_REPEATABLE_READ: 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。
  • TransactionDefinition.ISOLATION_SERIALIZABLE: 最高的隔离级别,完全服从 ACID 的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。但是这将严重影响程序的性能。通常情况下也不会用到该级别。
  1. 项目中有很多 if else 如何优化

https://juejin.cn/post/6844904083665453063

  1. 分布式 id 生成有哪些方式?

https://javaguide.cn/distributed-system/distributed-id.html

  1. 分布式 id 如何保证唯一?

https://javaguide.cn/distributed-system/distributed-id-design.html

相关文章:

  • Android应用:实现网络加载商品数据【OKHttp、Glide、Gson】
  • HCIA数据通信——交换机(Vlan间的通信与安全)
  • Spring Boot进阶(94):从入门到精通:Spring Boot和Prometheus监控系统的完美结合
  • 回流重绘零负担,网页加载快如闪电
  • 【开源】基于SpringBoot的天然气工程业务管理系统的设计和实现
  • 560. 和为 K 的子数组(前缀和 + 哈希表)
  • 软考系统架构之案例篇(Redis相关概念)
  • java开发中,如何在springboot下使用单例模式
  • 【笔录】TVP技术沙龙:寻宝AI时代
  • 持续集成部署-k8s-服务发现-Ingress
  • 【QT】信号和槽能自动传递参数
  • 威联通NAS进阶玩法之使用Docker搭建个人博客教程
  • 【设计模式】第4节:创建型模式之“单例模式”
  • vue3 源码解析(1)— reactive 响应式实现
  • NNDL:作业五
  • 【附node操作实例】redis简明入门系列—字符串类型
  • es6要点
  • Java Agent 学习笔记
  • PHP那些事儿
  • Vue2 SSR 的优化之旅
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • WePY 在小程序性能调优上做出的探究
  • 关于Java中分层中遇到的一些问题
  • 官方解决所有 npm 全局安装权限问题
  • 前端路由实现-history
  • 再次简单明了总结flex布局,一看就懂...
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)ssm码农论坛 毕业设计 231126
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一) springboot详细介绍
  • (一)基于IDEA的JAVA基础12
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转载)hibernate缓存
  • . Flume面试题
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET实现之(自动更新)
  • @SpringBootApplication 包含的三个注解及其含义
  • @synthesize和@dynamic分别有什么作用?
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • []sim300 GPRS数据收发程序
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [2023-年度总结]凡是过往,皆为序章
  • [4.9福建四校联考]
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [C#]winform制作仪表盘好用的表盘控件和使用方法
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行
  • [COI2007] Sabor
  • [FFmpeg学习]从视频中获取图片
  • [hive] sql中distinct的用法和注意事项
  • [I2C]I2C通信协议详解(一) --- 什么是I2C
  • [J2ME]如何替换Google Map静态地图自带的Marker
  • [leetcode] Balanced Binary Tree