Advertisement

字节跳动面试,两面+HR面,面试官很棒!

阅读量:

简单记一下,后面补全
2021年3月13日11:13:03

首先观察两次面试的题目设置,个人认为较注重求职者对基础知识的掌握程度。例如,在涉及垃圾回收机制方面对Full GC的理解就非常深入;另外,在线程池相关的知识上也展现出了较强的分析能力。

字节一面

  1. 简单介绍一下自己。
  2. 开始就询问了关于反射的问题。对于Java反射来说,请您详细说明其工作原理。
  3. HTTP/HTTPS的基本区别在于传输安全性和数据完整性。
  4. 对于Java内存管理和垃圾回收机制,请简要说明您对此的理解。
  5. 全GC指的是系统在内存不足时强制执行的所有对象回收操作的原因以及预防措施。
  6. 跨域问题可以通过配置服务器端的CORS机制来解决。
  7. GET和POST方法的主要区别体现在哪些方面?
  8. 在学习Spring Boot的过程中手写了部分简单的业务逻辑,在服务层面实现了类似直接服务器能访问的那种设计,在后续开发中发现需要使用Post请求进行交互。

面试官认为自己表现得非常专业。

最后一道算法题原本打算使用get函数来简化运算过程。

不幸的是get被发现了。

提醒我要改用post方法来处理。

字节二面

采用的是赛马网提供的平台服务。
然而,并不具备算法题233的相关内容;从项目出发,在技术细节方面进行深入探讨时显得尤为突出。
这让我感到非常震撼。

  1. 简单介绍一下自己。
  2. 简单介绍一下最近的项目,并说明你在其中承担了哪些角色或完成了哪些工作。
  3. 因为我是使用线程池来实现限流的嘛,在面试中被问到时,请问您在使用线程池进行限流时遇到的问题是什么?
  4. 发现限流的效果不够理想,在某个时间段(如最后一秒)发送了大量数据(如20个请求),这种情况如何解决?
  5. 提到了关于Java的设计模式相关的问题。
  6. 在讨论对称加密和非对称加密时,请问您为什么最后选择了对称加密?
  7. 在解释MySQL索引时,请问您想了解索引的不同类型以及Hash索引和B+树索引之间的区别吗?
  8. 关于主键索引和二级索引的区别以及是否可以在不回表的情况下实现这一点,请详细说明您的理解。
  9. 在探讨volatile关键字的作用时,请问您为什么认为volatile在这里被使用?
    volatile有什么具体用途?
    坚持使用volatile的原因是什么?
    这种关键字的主要作用是什么?
    还有其他类似用途的例子吗?
  10. 在讨论同步机制时,请问您认为哪种方法能有效保障临界区的安全性?
  11. 在介绍HashMap相关内容时,请详细解释HashMap的基本原理以及它与HashTable之间的关系。
  12. 关于阻塞队列的作用及其在JUC包中的实现方式,请提供一些具体的应用场景。
  13. 当编写代码遇到多个线程同时输出"123"的需求时,请描述具体的技术思路及实现过程。
  14. 针对代码中存在严重的线程争夺现象,请提出几种可能的优化方法并解释其原理。

很多知识点都可以深入研究一下哦~233 不过现在时间有限,
先做个初步了解吧!后续计划完善这些内容。
二面问的东西确实挺深的~233 这是因为这些知识被某些高阶人士单独掌握而难以普及。

在这里插入图片描述

可能的结果?(还没码完,慢慢更新,知识点很多

一面部分

Java反射:Java的类都具有一个实例可以通过Java的API直接对其进行操作JVM会动态生成对应的字节码来执行该操作
HTTP与HTTPS是网络通信中常用的两种安全协议其中HTTPS在HTTP的基础上增加了数据加密机制
Full GC是一种常见的垃圾回收算法全垃圾回收能够在每次 garbage collection时彻底清除内存中的未使用的对象
CORS跨域解决方案主要用于解决不同域之间的通信问题通过设置特定的头信息实现资源的安全访问
GET和POST是标准的HTTP请求方法其中GET用于获取资源而POST用于提交请求

dalao

二面部分

近几日因QQ邮箱被非法获取账户信息事件导致

搭建了一个多层次、可灵活调整参数的限流机制

由于采用了线程池限流策略,在面试中被问及使用线程池进行流量控制时,请问有什么改进方法吗?希望将每秒的请求量限定在5个以内。我说用信号量进行控制,并定期刷新以确保流量达标。

然后又问我不平滑,最后一秒发了20个怎么办
我说可以分10份嘛,阶段限流

询问了Java的设计模式理论以及相关的知识,并深入探讨了Java中的线程池机制的实现细节。对于如何具体实现一个线程池系统(包括使用官方提供的API以及通过自定义的方式进行构造),他还提出了许多具体的问题,并特别关注其中涉及的任务分配与回收机制的相关问题

问了HTTPS,谈到了对称加密和非对称加密,为什么最后用的是对称加密

问了MySQL的索引,主键索引和二级索引的区别

问了双重校验为什么用volatile,volatile有什么用

还问了用什么保证临界区安全,
锁,CAS,

了解了HashMap的相关知识后发现其与Hashtable存在密切关联。在数据结构的发展历程中,Hashtable算是一款具有历史意义的经典方案。它在设计上采用了线性探测再散列法来解决碰撞问题,在性能上有显著优势。然而,在某些特殊场景下需注意其局限性: Hashtable 不支持null值,并且所有基本操作均需加锁保护以保证 concurrent access下的稳定性。此外,在实现细节上需特别注意哈希冲突的处理机制以及负载因子设置的影响因素。对于想要深入理解不同哈希表实现方式的朋友来说,在实际应用开发中建议参考开源社区中的优秀实现方案并根据具体需求进行适配优化。

问了阻塞队列,juc包

代码题目为三个子线程依次执行任务,并且会不断重复这个流程。具体来说,在开始时操作员没有清楚理解任务要求(最初未明了),但经过一段时间后才明白任务需求(后来才明白),每个子线程都会按照顺序执行自己的职责。

我写了个脑残的,然后问我怎么优化,我提出了一种阻塞队列

持续更新哈,欢迎关注
现在正在等oc,oc快来啊

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~