阿里开发岗的算法通常不是最偏,但它有一个典型特点:算法只是第一道门槛,你必须过得稳,而且不能写得毛躁。
很多阿里面试更重 Java 后台、分布式、交易系统和项目深挖,但这不意味着算法可以弱。相反,经典题型如果写不稳,后面的八股和项目往往都没机会展开。
阿里算法面试特点
高频中等题最常见
链表、二叉树、堆、二分、DP 很常见
手写时比较看边界处理和代码结构
有时会通过题目顺便观察你的编码习惯
最该优先刷的题型
链表、树、堆、DP 优先级高
二分边界题和 Top K 题型建议二刷
如果你走 Java 后台,数组和字符串题也要写得非常熟
校招大礼包获取:入口
可能是至今最全,最好,最实用的校招大礼包,减少信息差,预期漫步无敌的刷提,不如有的放矢,针对性的准备,这样才能有效备考,有了这份资料,不说100%拿到offer,至少帮你提升50%概率拿到offer
高频算法题清单
一、数组 / 哈希
两数之和
三数之和
最长连续序列
子数组和为 K
合并区间
二、双指针 / 滑动窗口
无重复字符的最长子串
最小覆盖子串
盛最多水的容器
滑动窗口最大值
找到字符串中所有字母异位词
三、链表
反转链表
合并两个有序链表
合并 K 个升序链表
K 个一组翻转链表
环形链表 II
四、栈 / 堆 / 队列
有效的括号
每日温度
柱状图中最大的矩形
前 K 个高频元素
数据流的中位数
五、二分查找
二分查找
搜索旋转排序数组
查找第一个和最后一个位置
x 的平方根
六、二叉树
二叉树的层序遍历
验证二叉搜索树
二叉树的最近公共祖先
二叉树展开为链表
七、回溯
全排列
子集
组合总和
八、动态规划
爬楼梯
打家劫舍
最长递增子序列
最长公共子序列
零钱兑换
编辑距离
阿里刷题注意点
不要只刷题,不总结模板,阿里常见题型其实非常固定
重点看
链表翻转 / 堆 / 二分 / DP写代码时别为了快省掉边界判断
算法过线后,八股和项目深挖才是主战场