腾讯云智 绿盟 美团 面经

是这样的,想请教一下,腾讯云智 绿盟 美团 面经
最新回答
oО绿帽侠

2026-10-31 15:31:26

整体总结:该求职者以Java开发身份从3月开始面试,历经腾讯云智、绿盟、美团、联想四家公司,其中腾讯云智、绿盟、联想获得OC(意向书),美团一面后进入人才池。以下为各公司具体面试经验:

腾讯云智
  • 一面

    项目与研究方向:从项目出发,考察对项目的理解与掌握程度,同时了解研究方向。

    Java知识

    零拷贝:考察对Java中零拷贝技术的了解,零拷贝技术可减少数据在内核空间和用户空间之间的拷贝次数,提高数据传输效率,常见应用场景如NIO中的FileChannel.transferTo方法。

    大文件断点续传秒传实现:涉及文件传输过程中的断点续传和秒传机制。断点续传需记录传输进度,再次传输时从断点处继续;秒传则是通过文件哈希值判断服务器是否已存在相同文件,若存在则直接关联,无需重复上传。

    JWT登录流程:JWT(JSON Web Token)登录流程包括用户登录时服务器生成包含用户信息的Token,返回给客户端;客户端后续请求携带该Token;服务器验证Token的有效性,确认用户身份。

    Nginx知识

    负载均衡算法:如轮询、加权轮询、IP哈希等,用于将客户端请求分配到多个服务器,提高系统性能和可用性。

    热备:指一台服务器作为主服务器运行,另一台服务器作为备用服务器,当主服务器出现故障时,备用服务器迅速接管服务,确保系统不间断运行。

  • 二面

    八股文知识

    线程池参数:包括核心线程数、最大线程数、空闲线程存活时间、工作队列等,合理设置这些参数可优化系统资源利用和性能。

    线程池优势:降低资源消耗(通过重复利用已创建的线程)、提高响应速度(任务到达时可直接执行,无需创建线程)、提高线程的可管理性(可对线程进行统一分配、调优和监控)。

    线程池核心线程执行完情况:核心线程执行完后,若工作队列未满,线程会等待新任务;若工作队列已满且当前线程数未达到最大线程数,会创建新线程处理任务;若达到最大线程数,则根据拒绝策略处理任务。

    JVM内存分布:包括堆、栈、方法区等,不同区域存储不同类型的数据,对程序运行起着关键作用。

    垃圾回收器与回收算法:常见的垃圾回收器有Serial、Parallel、CMS、G1等,回收算法包括标记 - 清除、标记 - 整理、复制算法等,不同的回收器和算法适用于不同的场景和需求。

    JVM三部分论述:类加载器负责加载类文件到内存;内存管理包括内存分配、回收等;编译执行器将字节码编译为机器码执行。

    多线程知识:涉及synchronized关键字的使用、volatile关键字的作用、JMM(Java内存模型)相关知识,以及JUC(java.util.concurrent)包下常用工具类如Lock、CountDownLatch、CyclicBarrier等的使用。

    MySQL知识:考察基本的索引知识,如索引的类型、作用等。

    共享屏幕写代码:面试官出Java类设计题,要求设计两个类并写出相关处理业务方法,考察编程能力和对业务逻辑的理解。

  • HR面:主要是纯聊天,了解求职者的爱好、未来规划、期望薪资以及入职时间等信息。
绿盟
  • 技术面

    Java基础

    ArrayList扩容机制:ArrayList底层基于数组实现,当元素数量超过当前数组长度时,会进行扩容,扩容为原来的1.5倍。

    HashMap底层:HashMap基于数组和链表(Java 8后引入红黑树)实现,当链表长度超过阈值(默认为8)且数组长度大于等于64时,链表会转换为红黑树;当红黑树节点数小于等于6时,会退化为链表。

    ConcurrentHashMap线程安全问题解决:Java 7中采用分段锁技术,将数据分成多个段,每个段独立加锁;Java 8中采用CAS + synchronized方式,对每个桶头节点进行加锁,提高了并发性能。

    多线程:与腾讯云智类似,考察线程池参数、拒绝策略、使用线程池的原因和好处等。

    JVM:与腾讯云智考察内容大致相同,涉及内存分布、垃圾回收器、回收算法等。

    Redis

    基本类型:包括String、Hash、List、Set、ZSet等,Bitmap是String类型的一种特殊应用,用于高效存储和操作二进制位。

    缓存一致性:指缓存中的数据与数据库中的数据保持一致,常见解决方案有缓存更新策略(如Cache - Aside、Read - Through、Write - Through、Write - Behind)等。

    缓存雪崩、击穿、穿透:缓存雪崩是指大量缓存同时失效,导致大量请求直接访问数据库;缓存击穿是指热点数据缓存过期,大量请求同时访问数据库;缓存穿透是指请求的数据在缓存和数据库中都不存在,导致大量请求直接访问数据库。可通过设置不同的过期时间、使用互斥锁、布隆过滤器等方式解决。

    过期键设置与移除:可通过expire命令设置键的过期时间,通过persist命令移除键的过期时间。

    常用数据类型及应用场景:如String可用于存储简单数据,Hash可用于存储对象信息,List可用于实现队列和栈等。

    MySQL

    索引类型与优化:包括普通索引、唯一索引、主键索引、联合索引等,优化索引可通过合理选择索引列、避免索引失效等方式。

    回表:指通过索引查询到主键值后,再根据主键值到聚簇索引中查询完整数据的过程。

    联合索引最左匹配:联合索引遵循最左前缀原则,查询条件必须从联合索引的最左列开始,否则索引可能失效。

    SQL优化:可通过优化查询语句、合理使用索引、避免全表扫描等方式优化SQL性能。

    事务特性与保证方式:事务具有原子性、一致性、隔离性、持久性四大特性,可通过数据库的锁机制、日志机制等保证。

    UNION和UNION ALL的区别:UNION会去除重复行,UNION ALL不会去除重复行,UNION ALL性能更高。

    Linux:考察vim相关命令(如插入、保存、退出等)、shell脚本编写、文件重命名、定时任务设置、nohup命令后台运行jar包等操作。

美团
  • 一面:主要问JavaGuide上的八股文知识,考察对Java基础知识的掌握程度。
  • 共享屏幕写SQL:考了一道MySQL 8的新特性窗口函数的题目,窗口函数可对一组行进行计算并返回每行的结果,用于实现复杂的分析查询,如排名、分组统计等。由于求职者不会该题目,一面后进入人才池。