面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
46 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

技术岗 · 难度:中等 · 企业:阿里巴巴46 道 · 点击进入查看参考答案

中等C++
auto,auto&,auto&& 的作用和区别
结论:auto按值类型推导,auto&为左值引用,auto&&为转发引用(万能引用);核心要点:1.auto声明变量拷贝初始化,忽略顶层const和引用;2.auto&必须绑定左值,可修改原对象且零拷贝;3.auto&&…
🎤 阿里巴巴
中等C++
C++ Pimpl了解吗?有什么好处?
结论:Pimpl(Pointer to Implementation)是隐藏类实现细节的惯用法,在头文件仅前置声明实现结构体并用智能指针持有。要点:类A中定义struct Impl; std::unique_ptr<Im…
🎤 阿里巴巴
中等C++
C++17的常用特性
结论:C++17常用特性提升表达力与性能。要点:结构化绑定auto [a,b]=pair简化解构;if constexpr编译期分支优化模板;std::optional表示可能无值,std::variant类型安全联合,…
🎤 阿里巴巴
中等Go
golang 互斥锁的基本原理
结论:sync.Mutex互斥锁保证同一时刻仅一个goroutine进入临界区。核心要点:基于原子CAS、自旋与信号量休眠实现;有正常和饥饿两种模式。原理:Lock()先尝试原子交换获取锁,失败则自旋少量次数后休眠排队;…
🎤 阿里巴巴
中等Java
常见设计模式,你用过哪些?
结论:设计模式分创建型、结构型、行为型三类,项目中常用单例、工厂、策略、观察者等。核心要点:单例确保全局唯一(双重检查锁注意volatile);工厂解耦对象创建;策略封装可互换算法(如支付路由);观察者实现事件通知(如S…
🎤 阿里巴巴
中等Java
垃圾回收机制,JVM 常见的垃圾回收器?
结论:JVM GC通过可达性分析判垃圾并分代回收;常见回收器Serial、ParNew、Parallel Scavenge、CMS、G1等。原理:1.以GC Roots搜引用链,不可达即回收;2.堆分年轻代(复制算法Mi…
🎤 阿里巴巴
中等Java
类加载,双亲委托机制
结论:双亲委托机制指类加载器收到请求时优先委派父加载器加载,父无法加载时才自己加载。核心要点:1)Java有三层加载器:Bootstrap(核心库)、Extension(扩展)、Application(应用);2)好处:…
🎤 阿里巴巴
中等Java
线程池的核心参数,给了一个线程池问有什么问题?
结论:线程池核心参数有7个,给定线程池需检查参数组合是否合理。核心参数:corePoolSize(核心线程数)、maximumPoolSize(最大线程数)、keepAliveTime(空闲线程存活时间)、workQue…
🎤 阿里巴巴
中等Java
序列化写入后读出的对象变化(版本不一致问题)
结论:序列化写入后若类版本不一致,反序列化可能失败或字段丢失。要点:Java靠serialVersionUID标识版本,读写值不同抛InvalidClassException;兼容变更(增删字段)可保持同serialVe…
🎤 阿里巴巴
中等Java
一条 Java 语句从创建到执行的全过程,类加载流程,JDK 内置类如何被启动类加载器加载?
结论:Java语句执行经历编译、类加载、执行三阶段。类加载流程:1. 加载:ClassLoader读.class二进制入方法区,建Class对象;2. 链接:验证字节码、准备静态变量零值、解析符号引用;3. 初始化:静态…
🎤 阿里巴巴
中等Java
HashMap 源码分析,是不是线程安全?
结论:HashMap线程不安全,禁止在多线程并发写场景下直接使用。原理:JDK1.8源码中putVal()无同步控制,多线程同时put时可能出现:1) 同桶位节点覆盖导致数据丢失;2) 扩容期间线程A转移链表,线程B同时…
🎤 阿里巴巴
中等Java
Java线程模型,Thread类底层实现,线程和内核线程的对应关系,有什么优缺点?
结论:Java线程为1:1模型,Thread底层native映射内核线程;优点简单利用多核,缺点开销大。Thread的start0为native,调用pthread或CreateThread;每Java线程对应一个内核线…
🎤 阿里巴巴
中等Java
Java序列化,serialVersionUID的作用,怎么让字段不序列化(除了transient还有吗?)
结论:serialVersionUID用于序列化版本控制,保证反序列化兼容;除transient外,static字段、实现Externalizable或自定义writeObject也可阻止字段序列化。原理:serialV…
🎤 阿里巴巴
中等Java
Java 内存模型(堆和栈的细节)
结论:栈线程私有存储方法调用与局部变量,堆线程共享存储对象实例。细节:栈由栈帧组成,每调用方法压入帧,含局部变量表、操作数栈、返回地址等,方法结束弹栈;堆分新生代(Eden、Survivor区)和老年代,新对象优先分配E…
🎤 阿里巴巴
中等Java
JVM 内存管理与 C++ 有哪些区别?
结论:JVM内存由虚拟机自动管理(GC),C++由程序员手动管理(malloc/free或new/delete)。区别:1.分配方式:JVM对象基本在堆上由GC统一分配,C++可在栈或堆,栈对象自动析构;2.释放机制:J…
🎤 阿里巴巴
中等Java
Synchronized 和 Lock 有哪些理论上的理解?本质区别是什么?
结论:Synchronized是JVM内置关键字锁,Lock是API层面锁。本质区别:1.实现:Synchronized基于monitor对象,自动获取释放;Lock基于AQS队列,需手动unlock;2.功能:Lock…
🎤 阿里巴巴
中等Java
Synchronized 锁膨胀经历哪些过程?
结论:锁膨胀过程为无锁→偏向锁→轻量级锁→重量级锁。过程:1.无锁:对象头mark word无锁状态;2.偏向锁:首线程访问CAS记录线程ID,后续该线程直接进入;3.轻量级锁:其他线程竞争,撤销偏向锁,线程栈帧建锁记录…
🎤 阿里巴巴
中等其他
深拷贝和浅拷贝,怎么实现深拷贝?(多种方式)
结论:浅拷贝复制对象及基本类型,引用类型共享;深拷贝递归复制所有层级,完全独立。实现深拷贝多种方式:1. 序列化反序列化(Java用ObjectOutputStream、Python用pickle或json);2. 手动…
🎤 阿里巴巴
中等后端
高可用网站的设计(有什么技术实现)
结论:高可用网站设计目标是消除单点、自动故障转移,保证服务持续。技术实现:1)接入层用DNS+负载均衡(Nginx/LVS)分流;2)应用层无状态集群,配合服务注册发现(Consul)与K8s自愈;3)数据层主从复制、读…
🎤 阿里巴巴
中等后端
分布式事务怎么实现?
结论:分布式事务实现主要有2PC、TCC、本地消息表、Saga等方案。核心要点:1. 2PC两阶段提交,协调者分准备和提交,强一致但同步阻塞、单点故障;2. TCC三阶段Try-Confirm-Cancel,业务层补偿,…
🎤 阿里巴巴
第 1 / 3 页下一页 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考