自贡市网站建设_网站建设公司_后端开发_seo优化
2026/1/14 1:03:02 网站建设 项目流程

大家好,我是鸭鸭!

字节一年两度的绩效考核要开始了。在字节的同学,应该上周四就收到了全员信:2026 年 1 月 15 日将启动全年绩效评估。

又到了发钱的时候!虽然不能进鸭鸭兜里,但想想还是有点小激动呢!

从全员信来看,这次绩效考评有几个变化:

  • 评估周期变长,预计是会在 3 月下旬集中沟通绩效
  • 绩效档位名称发生了一点小变化
    • “I - Improvement Needed (待改进)”将改为“I - Improvement Needed to Meet Expectations (待改进)”
    • “F - Failed (不合格)”将改为“N - Not Meeting Expectations (不符合预期)”

嗯,这个调整,从措辞看是温和了很多,但实际影响可能有限。拿 I 和 F 的待遇难道会有不同?

字节的绩效考核一共 8 级,原先从低到高为 F、I、M-、M、M+、E、E+、O,现在 F 改为 N。不过拿 M 绩效的同学才是比例最多的部分。拿到 I 的基本就该考虑下家了。

完成绩效评估后,Leader 将评估全年激励,并根据新职级,进行匹配、提名晋升和评估调薪。

不过虽然评估周期变长了,但中国大陆地区字节的全年奖和调薪差额但发放时间是没有变的,都在 26 年的 3 月 31 日。绩效期权则预计在 4 月 25 日完全授予。

但鸭鸭还是很好奇,字节怎么突然开始调整绩效档位名称了?有知道的同学可以评论区说说。

……

今天分享一篇字节社招面经。

篇幅有限,完整答案可以进入面试鸭 - 2026程序员面试题库大全 | 10000+Java/前端/Python面试题免费刷 进行查阅。

为什么要有线程池,线程池的作用是什么?

线程池是一种池化技术,用于预先创建并管理一组线程,避免频繁创建和销毁线程的开销,提高性能和响应速度。

它几个关键的配置包括:核心线程数、最大线程数、空闲存活时间、工作队列、拒绝策略。

Java 的线程池线程数该怎么确定?

线程池的线程数设置需要看具体执行的任务是什么类型的。

任务类型可以分:CPU 密集型任务和 I/O 密集型任务。

CPU 密集型任务

CPU 密集型任务,就好比单纯的数学计算任务,它不会涉及 I/O 操作,也就是说它可以充分利用 CPU 资源(如果涉及 I/O,在进行 I/O 的时候 CPU 是空闲的),不会因为 I/O 操作被阻塞,因此不需要很多线程,线程多了上下文开销反而会变多。

根据经验法则,CPU 密集型任务线程数 = CPU 核心数 + 1

I/O 密集型任务

I/O 密集型任务,有很多 I/O 操作,例如文件的读取、数据库的读取等等,任务在读取这些数据的时候,是无法利用 CPU 的,对应的线程会被阻塞等待 I/O 读取完成,因此如果任务比较多,就需要有更多的线程来执行任务,来提高等待 I/O 时候的 CPU 利用率。

根据经验法则,I/O 密集型任务线程数 = CPU 核心数 * 2或更多一些。

业界还有更多线程池参数设置公式,可以观看题解的扩展部分。

Thread 的 run 和 start 的区别是什么?

  • run 方法描述了线程的任务,如果直接执行 run 方法,那么 Java 会把他当成一个普通的方法,不会新开线程去执行。
  • start 方法是让底层操作系统分配线程去执行 run 方法。

Java 提供了哪几个线程池预设模板?

Java 并发库中提供了 5 种常见的线程池实现,主要通过Executors工具类来创建。

1)FixedThreadPool:创建一个固定数量的线程池。

线程池中的线程数是固定的,空闲的线程会被复用。如果所有线程都在忙,则新任务会放入队列中等待。

适合负载稳定的场景,任务数量确定且不需要动态调整线程数。

2)CachedThreadPool:一个可以根据需要创建新线程的线程池。

线程池的线程数量没有上限,空闲线程会在 60 秒后被回收,如果有新任务且没有可用线程,会创建新线程。

适合短期大量并发任务的场景,任务执行时间短且线程数需求变化较大。

3)SingleThreadExecutor:创建一个只有单个线程的线程池。

只有一个线程处理任务,任务会按照提交顺序依次执行。

适用于需要保证任务按顺序执行的场景,或者不需要并发处理任务的情况。

4)ScheduledThreadPool:支持定时任务和周期性任务的线程池。

可以定时或以固定频率执行任务,线程池大小可以由用户指定。

适用于需要周期性任务执行的场景,如定时任务调度器。

5)WorkStealingPool:基于任务窃取算法的线程池。

线程池中的每个线程维护一个双端队列(deque),线程可以从自己的队列中取任务执行。如果线程的任务队列为空,它可以从其他线程的队列中“窃取”任务来执行,达到负载均衡的效果。

适合大量小任务并行执行,特别是递归算法或大任务分解成小任务的场景。

……

更多

💻 编程学习交流:编程导航
📃 简历快速制作:老鱼简历
✏️ 面试刷题神器:面试鸭
📖 AI 学习指南:AI 知识库

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询