5.31 这。。24届毕业生24.9%学生0 Offer?
- 作者
- Name
- 青玉白露
- Github
- @white0dew
- Modified on
- Reading time
- 8 分钟
阅读:.. 评论:..
大家好,我是白露啊。
据牛客网统计,2024届全国普通高校毕业生预计达到1179万人,同比增加21万人。
就业形势比往年更加严峻,每一个毕业生都在这场前所未有的战役中努力拼搏。
近期,牛客最新调查显示,24.9%的受访同学仍处于0 Offer的状态。
在已经拿到Offer的学生中,普遍手握1-3个。
真的是应了那些话,“你手里拿到多的offer,就是其他同学的命啊!"
"你舔的HR,也许正在舔其他人。。。"
还在寻找去处的你,如何脱颖而出?
对于春招还未上岸,或者已经上岸但仍不满足于现状的同学来说,此刻可能还在焦急地寻找理想的去处。那么,我们还能再做些什么呢?
1. 优化简历,提高竞争力
最基础的,其实也是最重要的,就是优化你的简历。针对具体岗位进行量身定制的简历,更能够打动HR的心。突出你的核心技能和实战经验,尤其是那些能够为目标公司带来直接价值的能力。
2. 提升自我,拓宽视野
就业市场的竞争日益激烈,不仅要掌握专业技能,还要不断提升自己的综合素质。积极参加讲座、在线课程和专业认证,拓宽自己的知识面,与时俱进,才能更加自信地面对挑战。
3. 扩大求职渠道,增加机会
除了常见的招聘网站,尝试利用社交媒体、校友资源、校园招聘会等多种渠道获取就业信息。多投简历,多面试,这样才能增加获得心仪Offer的机会。
4. 保持积极心态
心态决定成败。面对求职过程中的挫折和失败,不要气馁。每一次失败都是一段宝贵的经验,让你更清楚自己不足之处在哪,下一次如何改进。
今天的分享就到这里,春招冲刺期,你拿到Offer了吗?欢迎评论区留言哦。现在,还没有拿到offer的同学,可以看看一次腾讯云后端开发面试题目了,已经稳定的同学,可以直接跳转最后,有惊喜哦~
开始面试
面试官: 欢迎参加面试。首先,让我们谈谈线程池的七个参数。如果任务队列是无界的,那么最大线程数还有用吗?
求职者: 线程池的七个参数包括核心线程数、最大线程数、保持活动时间、时间单位、工作队列、线程工厂和拒绝执行处理器。如果任务队列是无界的,理论上,当所有核心线程都忙时,新任务会一直加入队列中,这样就不会创建超过核心线程数的线程了。但是,最大线程数的设置在某些情况下仍然有用,比如当队列有大小限制时,或者在调用execute方法时队列已满,这时会尝试创建新线程,直到达到最大线程数。
面试官: 接下来,谈谈Java内存模型。
求职者: Java内存模型(JMM)定义了Java虚拟机(JVM)在读写操作中如何与主内存交互,它保证了线程间的可见性和有序性。JMM通过happens-before原则来确保程序执行的一致性。JMM将内存分为线程私有的内存区域(如程序计数器、Java栈、本地方法栈)和线程共享的内存区域(如堆、方法区)。
面试官: 谈谈类加载过程中的双亲委派机制。
求职者: 在Java中,类加载遵循双亲委派模型。当一个类加载器尝试加载类时,它首先会委托给父类加载器去尝试加载该类。这个过程一直向上递归,直到引导类加载器。只有当父类加载器无法加载该类时(例如,因为类不在其搜索路径中),子类加载器才会尝试自己加载该类。双亲委派机制可以确保Java核心库的类不会被自定义的类所替代,保证了Java应用的安全性。
面试官: 解释一下JVM中的新生代和老年代,以及老年代的CMS垃圾回收器。
求职者: JVM的堆内存主要分为新生代和老年代。新生代用于存放新创建的对象,它分为一个Eden区和两个Survivor区(From Survivor和To Survivor)。大多数新创建的对象首先在Eden区分配。垃圾回收时,还活着的对象会从Eden区复制到一个Survivor区,经过多次GC后,存活的对象会被移动到老年代。老年代用于存放长时间存活的对象。CMS(Concurrent Mark Sweep)是老年代的一种垃圾回收器,它的目标是减少应用暂停时间。它通过并发标记和并发清除来实现垃圾回收,但在清除阶段可能会产生较多的内存碎片。
面试官: 谈谈MySQL的存储引擎InnoDB。
求职者: InnoDB是MySQL的默认存储引擎,支持事务处理、行级锁定和外键。它使用聚集索引来存储表数据,每个InnoDB表都有一个特殊的索引叫做主键索引,表中的数据按主键顺序存储。这种存储方式优化了基于主键的查询性能。InnoDB还实现了MVCC(多版本并发控制)来支持高并发,以及一致性非锁定读取。 面试官: 解释一下MySQL中主键索引和唯一索引的区别,以及覆盖索引是什么。
求职者: 主键索引是一种特殊的唯一索引,它不允许有空值,并且一个表只能有一个主键索引。唯一索引也保证索引列的值唯一,但允许有空值,并且一个表可以有多个唯一索引。覆盖索引是指一个索引包含了查询中需要的所有数据,在查询时只需要访问索引,而不需要回表查询记录,这样可以大大提高查询效率。
面试官: 索引使用哪些数据结构?解释一下。
求职者: 索引通常使用哈希表、平衡树(如AVL树)、B树和B+树等数据结构。哈希表适合等值查询,但不支持范围查询。平衡树保证了操作的平衡性,适合动态数据集。B树和B+树是多路平衡查找树,它们特别适用于磁盘存储,能减少磁盘I/O操作。MySQL的InnoDB引擎使用的是B+树索引,B+树的叶节点包含了所有索引字段,并且叶节点之间有指针连接,便于范围查询。 面试官: 谈谈HTTP2与HTTP3的区别。
求职者: HTTP/2引入了多个性能改进,如二进制传输、头部压缩、多路复用等,这些改进使得同一连接上可以并行传输多个请求和响应,降低了延迟并提高了带宽利用率。而HTTP/3则是基于QUIC协议,它不是基于TCP,而是基于UDP。这使得HTTP/3具有更低的连接建立时间,同时内置了更好的拥塞控制和丢包恢复机制。HTTP/3还解决了HTTP/2的队头阻塞问题。
面试官: 为什么要用Kafka?
求职者: Kafka是一种高吞吐量、分布式、发布订阅消息系统,它能够处理大量数据,并支持数据的持久化。使用Kafka主要有以下几个原因:1) 解耦生产者和消费者,提高系统的可扩展性;2) 通过分区和复制机制保证数据的可靠性和高可用性;3) 支持实时处理和批处理场景,适应多种业务需求。Kafka广泛应用于日志收集、监控数据聚合、流式处理等场景。
面试官: 谈谈JVM的锁机制,以及怎样判断一个对象是否被锁住。
求职者: JVM提供了多种锁机制来支持多线程并发控制,包括偏向锁、轻量级锁和重量级锁。这些锁会随着竞争情况的变化进行锁升级,以优化锁的性能。可以通过对象头中的Mark Word来判断一个对象的锁状态。例如,偏向锁会在Mark Word中记录线程ID,轻量级锁则会指向锁记录或者锁撤销标志,而重量级锁则指向互斥量(Monitor)。
面试官: undolog、binlog和redolog是什么?执行顺序是怎样的?
求职者: undolog、binlog和redolog是数据库用于保证事务性和数据恢复的日志文件。undolog用于记录事务进行中的变更,以支持事务的回滚。binlog是MySQL用来记录所有修改了数据库数据的SQL语句,用于主从复制和数据恢复。redolog是InnoDB存储引擎特有的,用于记录每个事务对数据页做的修改,确保事务的原子性和持久性。执行顺序通常是先写redolog保证原子性和持久性,然后修改内存和磁盘中的数据,事务提交后再写binlog用于复制和恢复。
面试官: 很不错,今天就到这吧。