来源:互联网 更新时间:2025-04-22 12:44
DeepSeek 面经
年前,deepseek 冲击波还没进入白热化的时候,我们就写了 deepseek 这家公司的薪资水平 。
最近,DeepSeek 的招聘职位,从 37 个缩减到 27 个。
或许是年后招聘人员重新编辑了在招岗位,又或许是有一批新天才加入了 DeepSeek。
虽然已经看过 DeepSeek 的在招岗位和薪资,但相信不少读者还是十分好奇:DeepSeek 的招聘流程到底是怎么样的?跟互联网传统的三面四面一样吗?
就在昨天,一位去年五月份参加过 DeepSeek 线上面试的应聘者分享了他的经历。
这位应聘者是一位 211、985 高校的应届博士生,在校期间也参与过不少企业的大型项目,但在面对 DeepSeek 面试过程中提及的那些深入且具有挑战性的问题时,仍然感到不少难度。
用他对 DeepSeek 的评价原话来说就是:
那可不,人家 DeepSeek 可是做大模型的,输入应聘者的相关信息,用 DeepSeek 直接生成量身定制的问题,那就是分分钟的事儿。
想要进 DeepSeek,通过 DeepSeek AI 的面试只是第一步
除了面试内容的深度和广度,这位招聘者还提到当时 DeepSeek 面试流程是「面试官连续 3 个小时高强度的提问」。
这其实就是我们常说的"压力面",通过这种面试来模拟实际工作中可能遇到的压力情景,目的是考察应聘者是否能在紧张或高压的工作条件下保持冷静、有效沟通和解决问题的能力。
专业水平过关是前提,还得反应够快,承压能力强。
这也好理解,DeepSeek 是一个高度年轻化和本土化的团队,人数规模一直控制在 150 人以内,不设 KPI 考核,内部完全扁平化,每位算法人员都能直接和梁文锋交流。不像大厂,将任务极致细化,在职员工只需要负责好自己的一环即可。DeepSeek 的规模,决定了其人员负重更重,容错空间更少。因此在人员选择上,此类优秀的"小公司"肯定要比大厂要更严格。
对此,你怎么看?在你的求职经历中,有经过类似的压力面吗?欢迎评论区交流。
...
回归主题。
来一道经典校招算法题。
题目描述平台:LeetCode
题号:1447
给你一个整数 n ,请你返回所有
到
之间(不包括
和
)满足分母小于等于 n 的最简分数。
分数可以以任意顺序返回。
示例 1:
代码语言:javascript代码运行次数:0运行复制输入:n = 2输出:[”1/2“]解释:”1/2“ 是唯一一个分母小于等于 2 的最简分数。登录后复制
示例 2:
代码语言:javascript代码运行次数:0运行复制输入:n = 3输出:[”1/2“,”1/3“,”2/3“]登录后复制
示例 3:
代码语言:javascript代码运行次数:0运行复制输入:n = 4输出:[”1/2“,”1/3“,”1/4“,”2/3“,”3/4“]解释:”2/4“ 不是最简分数,因为它可以化简为 ”1/2“ 。登录后复制
示例 4:
代码语言:javascript代码运行次数:0运行复制输入:n = 1输出:[]登录后复制
提示:
数据范围为
且数值大小在
之间,因此枚举「分子 + 分母」的
做法是可接受的。
于是问题转化为:如何快速判断两个数组成的分数是否为最简(即判断两个数的最大公约数是否为
)。
快速求得
和
的最大公约数的主要方式有两种 :「更相减损法」和「欧几里得算法」,其中「欧几里得算法」的递归实现最为好写,复杂度为
,在绝大多数的情况下适用,只有在需要实现高精度时,才会考虑使用「更相减损法」。
而 stein 算法则是没有必要掌握的。
Java 代码(欧几里得算法):
代码语言:javascript代码运行次数:0运行复制class Solution { int gcd(int a, int b) { // 欧几里得算法 return b == 0 ? a : gcd(b, a % b); } public List<string> simplifiedFractions(int n) { List<string> ans = new ArrayList(); for (int i = 1; i <p>C++ 代码(欧几里得算法):</p>代码语言:javascript<i class=”icon-code“></i>代码运行次数:<!-- -->0<svg xmlns=”http://www.w3.org/2000/svg“ width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“><path d=”M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z“ fill=”currentcolor“></path></svg>运行<svg width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“ xmlns=”http://www.w3.org/2000/svg“><path fill-rule=”evenodd“ clip-rule=”evenodd“ d=”M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z“ fill=”currentcolor“></path></svg>复制<pre class=”prism-token token line-numbers javascript“>class Solution {public: int gcd(int a, int b) { // 欧几里得算法 return b == 0 ? a : gcd(b, a % b); } vector<string> simplifiedFractions(int n) { vector<string> ans; for (int i = 1; i <p>Python 代码(欧几里得算法):</p>代码语言:javascript<i class=”icon-code“></i>代码运行次数:<!-- -->0<svg xmlns=”http://www.w3.org/2000/svg“ width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“><path d=”M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z“ fill=”currentcolor“></path></svg>运行<svg width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“ xmlns=”http://www.w3.org/2000/svg“><path fill-rule=”evenodd“ clip-rule=”evenodd“ d=”M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z“ fill=”currentcolor“></path></svg>复制<pre class=”prism-token token line-numbers javascript“>class Solution: def gcd(self, a: int, b: int) -> int: # 欧几里得算法 return a if b == 0 else self.gcd(b, a % b) def simplifiedFractions(self, n: int) -> List[str]: ans = [] for i in range(1, n + 1): for j in range(i + 1, n + 1): if self.gcd(i, j) == 1: ans.append(f”{i}/{j}“) return ans登录后复制
TypeScript 代码(欧几里得算法):
代码语言:javascript代码运行次数:0运行复制function gcd(a: number, b: number): number { // 欧几里得算法 return b == 0 ? a : gcd(b, a % b);}function simplifiedFractions(n: number): string[] { const ans = []; for (let i = 1; i <p>Java 代码(更相减损法):</p>代码语言:javascript<i class=”icon-code“></i>代码运行次数:<!-- -->0<svg xmlns=”http://www.w3.org/2000/svg“ width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“><path d=”M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z“ fill=”currentcolor“></path></svg>运行<svg width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“ xmlns=”http://www.w3.org/2000/svg“><path fill-rule=”evenodd“ clip-rule=”evenodd“ d=”M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z“ fill=”currentcolor“></path></svg>复制<pre class=”prism-token token line-numbers javascript“>class Solution { int gcd(int a, int b) { // 更相减损法 while (true) { if (a > b) a -= b; else if (a simplifiedFractions(int n) { List<string> ans = new ArrayList(); for (int i = 1; i <p>Java 代码(stein):</p>代码语言:javascript<i class=”icon-code“></i>代码运行次数:<!-- -->0<svg xmlns=”http://www.w3.org/2000/svg“ width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“><path d=”M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z“ fill=”currentcolor“></path></svg>运行<svg width=”16“ height=”16“ viewbox=”0 0 16 16“ fill=”none“ xmlns=”http://www.w3.org/2000/svg“><path fill-rule=”evenodd“ clip-rule=”evenodd“ d=”M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z“ fill=”currentcolor“></path></svg>复制<pre class=”prism-token token line-numbers javascript“>class Solution { int gcd(int a, int b) { // stein if (a == 0 || b == 0) return Math.max(a, b); if (a % 2 == 0 && b % 2 == 0) return 2 * gcd(a >> 1, b >> 1); else if (a % 2 == 0) return gcd(a >> 1, b); else if (b % 2 == 0) return gcd(a, b >> 1); else return gcd(Math.abs(a - b), Math.min(a, b)); } public List<string> simplifiedFractions(int n) { List<string> ans = new ArrayList(); for (int i = 1; i 时间复杂度:枚举分子分母的复杂度为 <figure class=”“>O(n^2)</figure><p>;判断两数是否能凑成最简分数复杂度为 </p><figure class=”“>O(log{n})</figure><p>。整体复杂度为</p><figure class=”“>O(n^2 imes log{n})</figure>空间复杂度:忽略递归带来的额外空间开销,复杂度为<figure class=”“>O(1)</figure>最后<p>巨划算的 LeetCode 会员优惠通道目前仍可用 ~</p><p>我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻。</p></string></string>登录后复制
Yandex俄罗斯搜索引擎官网登录首页入口
海棠废文网2025入口 海棠书屋(废文网)在线观看
豆包平台官网登录入口 豆包ai平台网页版使用入口官方
谢霆锋闷声发大财,在抖音卖烤肠4年狂赚15亿
高通小至尊版芯片!REDMI首发骁龙8s Gen4
雷丁汽车发布新车型雷丁A50,将于下半年上市
鸡腿菇能不能与酒同食 蚂蚁庄园3月26日答案
基差交易策略详解:抓住价格差异,稳赚不赔?
十大虚拟货币交易平台安全排名及对比
豆包直接下载入口 豆包app在线下载
《第一狂战士:卡赞》严重BUG!玩家属性可被清空
2025任天堂直面会内容一览
猜一猜:我国江南地区最大的石窟造像群是
俄罗斯引擎中文入口在哪-yandex俄罗斯引擎中文入口介绍
SOUL币上线交易所及获取方法
瑞波币获取攻略:多种方法轻松入手
Coinbase平台详解:优缺点全分析
Token与区块链:数字资产核心关系揭秘
蚂蚁庄园答题今日答案2025年3月23日
2025年3月22日蚂蚁新村答案
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc