针对本科和硕士应届生的算法面试题

【AI面试】2026 软件应届生求职解惑:AI Agent 浪潮下,传统开发技能会被淘汰吗?校招技能栈 + 精选面试题 迷茫一:现在都 AI 时代,Java、C++、数据结构、数据库是不是过时?AI 可以生成全部代码,传统编程语言学了还有意义吗?是不是我直接学 Python、学 Agent 框架就可以找工作?迷茫二:我会用 Cursor、Claude Code、DeepSeek Harness,会调用大模型 API,用 AI 写过几个小 Demo,算不算 Agent 项目?企业招 AI Agent 工程师到底看重什么?是不是会用 AI 编辑器就可以上岗? 阅读详情
1、假设淘宝一天有5亿条成交数据,求出销量最高的100个商品并给出算法的时间复杂度。
维护一个前100大的最小堆,然后遍历一次O(nlogk),显然当n很大时候效率也不是很高,

2、给一列无序数组,求出中位数并给出算法的时间复杂度。

中位数即是排过序后的处于数组最中间的元素。 不考虑数组长度为偶数的情况。设集合元素个数为n。

简单的想了下:
思路1) 把无序数组排好序,取出中间的元素
            时间复杂度 采用普通的比较排序法 O(N*logN)
            如果采用非比较的计数排序等方法, 时间复杂度 O(N), 空间复杂度也是O(N).

思路2) 
          2.1)将前(n+1)/2个元素调整为一个小顶堆,
          2.2)对后续的每一个元素,和堆顶比较,如果小于等于堆顶,丢弃之,取下一个元素。 如果大于堆顶,用该元素取代堆顶,调整堆,取下一元素。重复2.2步           
          2.3)  当遍历完所有元素之后,堆顶即是中位数。

思路3) 熟话说,想让算法跑的更快,用分治!
            快速排序之所以得名"快排",绝非浪得虚名!因为快排就是一种分治排序法!
            同样,找中位数也可以用快排分治的思想。具体如下:
            任意挑一个元素,以改元素为支点,划分集合为两部分,如果左侧集合长度恰为 (n-1)/2,那么支点恰为中位数。如果左侧长度<(n-1)/2, 那么中位点在右侧,反之,中位数在左侧。 进入相应的一侧继续寻找中位点。
            这种方法很快,但是在最坏的情况下时间复杂度为O(N^2), 不过平均时间复杂度好像是O(N)。

思路4) 快排的方法存在不确定性,导致其最坏和最好的时候差别很大, 那么有没有一种确定性的方法呢? 答案是有的
            貌似算法导论里有讲到. 这里我就先不深究了, 可以参考如下的文章, 
            O(n)时间快速选择
            http://www.shadowxh.com/?p=598
            以及本文的别人的评论

引申一:
查找N个元素中的第K个小的元素(来自编程珠玑)
编程珠玑给出了一个时间复杂度O(N),的解决方案。该方案改编自快速排序。
经过快排的一次划分,
   1)如果左半部份的长度>K-1,那么这个元素就肯定在左半部份了
   2)如果左半部份的长度==K-1,那么当前划分元素就是结果了。
   3)如果。。。。。。。<K-1,那么这个元素就肯定在右半部分了。
  并且,该方法可以用尾递归实现。效率更高。

时间复杂度分析, 由于差不多每次都是把序列划分为一半。。。假设划分的元素做了随机优化,时间复杂度近似于
N+N/2+N/4.... = 2N*(1-2^-(logN)) 当N较大时 约等于 2N 也就是 O(N)。

看来,快速排需的用处可大着咧。。。

也用来查找可以N个元素中的前K个小的元素,前K个大的元素。。。。等等。

引申二:
查找N个元素中的第K个小的元素,假设内存受限,仅能容下K/4个元素。
分趟查找,
第一趟,用堆方法查找最小的K/4个小的元素,同时记录剩下的N-K/4个元素到外部文件。
第二趟,用堆方法从第一趟筛选出的N-K/4个元素中查找K/4个小的元素,同时记录剩下的N-K/2个元素到外部文件。
。。。
第四趟,用堆方法从第一趟筛选出的N-K/3个元素中查找K/4个小的元素,这是的第K/4小的元素即使所求。


3、输入一个整型数组,求出子数组和的最大值,并给出算法的时间复杂度。
不少朋友看到上面的答案之后,认为上述思路2的代码,没有处理全是负数的情况,当全是负数的情况时,我们可以让程序返回0,也可以让其返回最大的那个负数,下面便是前几日重写的,修改后的处理全是负数情况(返回最大的负数)的代码:

//copyright@ July
//July、updated,2011.05.25。
#include <iostream.h>
#define n 4           //多定义了一个变量

int maxsum(int a[n])  
//于此处,你能看到上述思路2代码(指针)的优势
{
    int max=a[0];       //全负情况,返回最大数
    int sum=0;
    for(int j=0;j<n;j++)
    {
        if(sum>=0)     //如果加上某个元素,sum>=0的话,就加
            sum+=a[j];
        else   
            sum=a[j];  //如果加上某个元素,sum<0了,就不加
        if(sum>max)
            max=sum;
    }
    return max;
}

int main()
{
    int a[]={-1,-2,-3,-4};
    cout<<maxsum(a)<<endl;
    return 0;
}



4、给出10W条人和人之间的朋友关系,求出这些朋友关系中有多少个朋友圈(如A-B、B-C、D-E、E-F,这4对关系中存在两个朋友圈),并给出算法的时间复杂度。
算法:并查集.

5、如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,使路径上的值的和最大。给出算法的时间复杂度。

&amp;lt;img src=&quot;https://i-blog.csdnimg.cn/blog_migrate/9ba2a334abddd9333e83ff2089b617fc.png&quot; data-rawwidth=&quot;256&quot; data-rawheight=&quot;219&quot; class=&quot;content_image&quot; width=&quot;256&quot;&amp;gt;
解题思路:

这道题是一道很经典的题目了,定义状态为:dp[i][j]表示,从第i行第j个数字到最后一行的某个数字的权值最大的和。那么我们最后只需要输出dp[1][1]就是答案了.

状态转移方程为:dp[i][j] += max( dp[i+1][j+1],dp[i+1][j] );好了, 从第n-1行往上面倒退就好了。

代码:
# include<cstdio>
# include<iostream>
# include<algorithm>
# include<cstring>
# include<string>
# include<cmath>
# include<queue>
# include<stack>
# include<set>
# include<map>

using namespace std;

# define inf 999999999
# define MAX 123

int a[MAX][MAX];

int main(void)
{
    int n;
    while ( cin>>n )
    {
        for ( int i = 1;i <= n;i++ )
        {
            for ( int j = 1;j <= i;j++ )
            {
                cin>>a[i][j];
            }
        }
        for ( int i = n-1;i >= 1;i-- )
        {
            for ( int j = 1;j <= i;j++ )
            {
                a[i][j] = max(a[i+1][j],a[i+1][j+1])+a[i][j];
            }
        }
        printf("%d\n",a[1][1]);

    }

	return 0;
}



6、有一个很长二进制串,求出除以3的余数是多少,给出算法的时间复杂度。

1^100 = (3-1)^100 对3求余得到(-1)^100 = 1
所以遍历一遍二进制串得到答案.

作者:SimonS
链接:https://www.zhihu.com/question/24964987/answer/32391072
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
树莓派5安装ROS2小白指南避坑攻略 手把手教你如何在树莓派5上顺利安装ROS2,避开常见问题与陷阱,提升配置效率。针对树莓派5安装ros2过程中的依赖冲突、源配置错误等高频难题提供解决方案,适合新手快速上手。 阅读详情

相关推荐

Unity地形优化实战:LOD、合批与HLOD打造流畅开放世界

在计算机图形学与游戏开发中,渲染优化是保障应用流畅运行的核心技术。其基本原理在于通过算法与策略,在视觉保真度与硬件资源消耗之间寻求最佳平衡,旨在提升帧率、降低功耗。这一技术的核心价值在于,它直接决定了大规模场景(如开放世界游戏)在性能受限平台(尤其是移动设备)上的可行性。具体到地形渲染这一关键应用场景,开发者需要综合运用多层次细节(LOD)技术来动态调整模型精度,并通过Draw Call合批(Batching)与GPU实例化(GPU Instancing)来大幅减少CPU到GPU的通信开销。对于超大规模世界

weixin_28077113的博客 333

《C/C++ 面试 100 例》(一)性能优化

面试官:你在项目中是如何对C++做性能优化的?

英雄哪里出来 15万+

matlab生成blocks、bumps和doppler标准测试信号

关键函数:wnoise使用方式X = wnoise(FUN,N) [X,XN] = wnoise(FUN,N,SQRT_SNR) [X,XN] = wnoise(FUN,N,SQRT_SNR,INIT)X = wnoise(FUN,N) 返回由 FUN给出的信号,长度为2^N,幅值范围[0,1].[X,XN] = wnoise(FUN,N,SQRT_SNR) ,返回了一个测试信号X,以及一个加噪

ZSZ_shsf的博客 6581

21 道关于性能优化的面试题(附答案)

点击上方三分钟学前端,关注公众号回复交流,加入前端编程面试算法每日一题群面试官也在看的前端面试资料随着前端项目不断扩大,浏览器渲染的压力变得越来越重。配置好一点的计算机可以顺利地展现页面...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 804

emqx Java 订阅以及发送 结合若依框架

emqx Java 订阅以及发送 结合若依框架

Spo的博客 1613

Python、Selenium实现问卷星自动填写(内含适配个人问卷的方法)

使用Python、Selenium实现问卷星自动填写,内含适配个人问卷的方法。

DaenCode的博客 3837

29道面试基础算法题,试试看会不会

本文主要整理了一些面试常见的算法题,涵盖 数组、字符串、哈希表、链表、二叉树。

Android茶话会 1万+

STK中的传感器、雷达、发射机、接收机、天线

本文根据STK手册介绍了传感器、雷达、发射机、接收机、天线等对象的基本属性,简略分析了它们的不同之处。

wangyulj的专栏 1万+

2022年上半年最接地气的算法面经,本人面试过18家算法面经,吐血整理

简介:本人2020届毕业生,双非本,末流985硕,科班出身,真的很菜。找的是算法岗的岗位。现在秋招接近尾声,我从牛客网上受益颇多,于是想回馈下大家。两个渣项目外加一个CTR比赛,leetcode刷了一百道,剑指offer刷了四五遍。 我找到的工作也不是多么的好,希望大家不喜勿喷,哈哈哈哈哈。 收到offer:斗鱼、浦发、携程、快手、多益网络、阿里(测开) 面试的公司:作业帮、追一科技、百度、浦发、乐鑫、小红书、斗鱼、360、同程艺龙、携程、华为、美团(拒绝)、58同城(拒绝)、网易互娱、.

各种自助共享门店系统定制开发,美团核销服务商 3089

别再死磕RD算法了!用MATLAB手把手复现SAR后向投影(BP)成像(附完整代码与避坑点)

本文详细介绍了如何使用MATLAB实现合成孔径雷达(SAR)后向投影(BP)成像算法,突破传统RD算法在大斜视和复杂轨迹场景中的局限。通过完整的代码示例和避坑指南,帮助读者掌握BP算法的核心原理、内存优化策略和并行计算技巧,提升SAR成像精度与效率。

weixin_30908103的博客 298

嵌入式模拟电路面试题大全及参考答案(持续更新)

高输入阻抗:由于晶体管的基极-发射极(BJT)或栅极-源极(MOSFET)电压很低,跨导放大器具有很高的输入阻抗。低输出阻抗:晶体管的集电极-发射极或漏极-源极电阻较低,提供较低的输出阻抗。电压控制:输入信号控制晶体管的跨导,从而控制输出电流。晶体管:作为放大器的核心,可以是BJT或MOSFET。偏置电路:为晶体管提供稳定的工作点,确保其在放大区域内工作。负载电阻:与晶体管的集电极或漏极连接,将电流转换为电压。晶体管的选择:根据所需的增益、速度和功率消耗选择合适的晶体管。偏置稳定性。

大模型大数据攻城狮的专栏 989

算法面试题汇总

大家好,我是哪吒,一个热爱编码的Java工程师,本着“欲速则不达,欲达则欲速”的学习态度,在程序猿这条不归路上不断成长,所谓成长,不过是用时间慢慢擦亮你的眼睛,少时看重的,年长后却视若鸿毛,少时看轻的,年长后却视若泰山,成长之路,亦是渐渐放下执念,内心归于平静的旅程。 也许,我们永远都不会知道自己能走到何方,遇见何人,最后会变成什么样的人,但一定要记住,能让自己登高的,永远不是别人的肩膀,而是挑灯夜战的自己,人生的道路刚刚启程,当你累了倦了也不要迷茫,回头看一看,你早已不再是那个年少轻狂的少年。 .

学Java,找哪吒 1万+

【腾讯小龙虾 WorkBuddy 专栏 03】技能(Skills)制作全教程!自定义技能编写、导出分享、导入使用一步到位

🔥腾讯AI智能体WorkBuddy自定义技能全攻略 本文为零基础用户提供WorkBuddy自定义技能的完整教程,涵盖技能概念、编写规范到实操全流程。核心内容包括: 技能本质:标准化任务指令模板,可固化重复操作流程 三大价值:一键执行重复任务/跨设备共享/降低使用门槛 实操演示:以"桌面文档自动分类"为例,分步讲解编写、测试、导出 共享方案:支持单技能/批量导出,通过任意渠道传输分享 导入指南:3秒完成他人技能加载,并提供常见问题解决方案 高阶优化:增加异常处理、版本管理等提升技能普适性

AI人人懂 2971

测试行业本科应届生薪资大概是多少?外行人15k垫底25k是人均水平...

前两天有个互联网无关专业的高中老同学来问我薪资,他竟然觉得计科本科15k垫底,25k人均,不由让我再次瑟瑟发抖所以我决定写一篇只针对本科生应届生的文章。想要切实的了解下本科生的真实数据,请不要走开,本文没有任何的吹牛逼!

自动化软件测试 3415

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

为什么应届生的身份这么值钱?

以技术岗为例 应届生补: ① 杭州:首年**10w/3w/1w(博士/硕士/本科)**人才补贴+3w租房补贴(租房补贴分3年发放) ② 海南: 租房补贴:本科毕业生1500元/月;硕士研究生2000元/月;博士****,补贴发放不超过3年。 购房补贴:本科毕业生1.8万/年、硕士研究生2.4万/年、博士3.6万/年,补贴发放不超过3年。 ③ 广州(黄埔区): 住房补贴:本科生落户2万,硕士生3万、博士生5万。 ④ 厦门: 人才补贴:博士(不超过40周岁)8万元,硕士(不超过35周岁)5万元,“双一流”建设高

九章算法的博客 641

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

2026年AI校招火爆!高薪+新手友好,应届生如何抢占“黄金赛道”?

我在一线科技企业深耕十二载,见证过太多因技术更迭而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。✅AI大模型学习路线图✅Agent行业报告✅100集大模型视频教程✅大模型书籍PDF✅DeepSeek教程✅AI产品经理入门资料完整的大模型学习和面试资料已经上传带到优快云的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇​​。

m0_63171455的博客 405

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

从阿里到网易,一位非985 211本科应届生的一年求职路_网易工作三年和一年的区别

那天去面试美团的时候就已经有知道会跪了,并不是准备不好,而是当时因为其他事情心情很复杂,在公交车上脑子一片空白,虽然在面试问题基本都能答出来,可是细节没有掌握好,回来后知道可能没过,特地重新复习了一遍面试题,〒_〒心里苦,一直很紧凑的面试行程中,很累。腾讯本来以前自己大学最想进的公司,结果在最关键的秋招失败了,而且自己的阿里实习的时候并不是做安卓技术开发工作,一定程度上让自己的项目停在春招水平,虽然也有在深入学习其他知识,但自己开始紧张。在面试汇丰过后,一段时间,差不多到了11月末,面试了阿里健康。

2401_84159688的博客 618

技术之外:数据科学背景应届生转战商业分析岗,面试必看的非技术能力清单

数据科学专业应届生面试商业分析岗,除了SQL、Python、建模等技术能力外,还需要展示业务逻辑拆解能力、需求对齐能力、数据结果落地表达能力、跨角色协作认知这四类核心能力。本内容适用于拿到商业分析岗面试邀约、有基础数据处理能力但缺乏商业场景经验的内地普通本科及硕士应届生,不针对社招转岗、已经有2年以上行业经验的人群。

2508_93342305的博客 278

大模型求职全揭秘!0基础轻松掌握岗位能力图谱,附赠大厂高频面试题单及解析!

在ChatGPT和DeepSeek掀起的智能革命浪潮下,AI研发工程师、AI产品经理、大模型开发、训练师等新兴岗位开始大量涌现,但是很多求职者会面临一些求职困惑:招聘网站的JD术语晦涩,难以精准匹配自身能力;面试准备迷茫,不知从何开始;对岗位所需的算法基础、工程能力、业务理解等核心技能边界模糊…

2401_84208172的博客 1037

2025大模型就业揭秘:AI人才争夺战与学习路径,从校招前线到职场成功!

2025年大厂掀起AI人才争夺战,大模型相关岗位需求激增,薪资涨幅达20-30%。AI人才供需比仅0.5,但企业招聘标准不断提高。高校教学内容与行业前沿存在错位,形成结构性人才短缺。求职者不必盲目追逐纯AI岗位,传统岗位与AI结合同样有发展空间,掌握AI技能将为职业发展提供巨大机遇。

2401_84495872的博客 2075

成功入职字节-备战四个月,只因啃透这份“程序员代码面试指南”

什么是算法? 有一个很著名的公式 “程序=数据结构+算法”。 算法,从字面意义上解释,就是用于计算的方法,通过该这种方法可以达到预期的计算结果。目前,被广泛认可的算法专业定义是:算法是模型分析的一组可行的,确定的,有穷的规则。通俗的说,算法也可以理解为一个解题步骤,有一些基本运算和规定的顺序构成。但是从计算机程序设计的角度看,算法由一系列求解问题的指令构成,能根据规范的输入,在有限的时间内获得有效的输出结果。算法代表了用系统的方法来描述解决问题的一种策略机制。 完成同一件事的不同的算法完成的时间和占用

javakjh2的博客 276

Agent岗位求职实录:不同背景如何突围拿offer?

21.7%涨薪的转型、35岁裸辞的逆袭、应届生零经验的突围,这些案例都在证明:Agent赛道虽然竞争激烈,但它不唯学历、不唯年龄、不唯过往经验,只看你是否能让招聘方看到"你适合这个岗位"。如果你也想拿下Agent offer,别再自我怀疑"我不够优秀",不如聚焦一个问题:"我如何让招聘方看到我的适配性?"按上面的方法,重构经历、精准投递、深挖细节、扛住压力,你也能在AI浪潮中,拿到属于自己的那份offer。

大模型教程的博客 923

简历里堆满 Agent Demo,为什么面试官只问权限和日志?

大模型落地已经从“跑通 Prompt”进入“工程化治理”阶段。很多计算机专业学生拿着满屏的 LangChain/LangGraph 代码去求职,却在面试中被一句“你的系统怎么保证权限隔离和可观测性?”直接问住。本文复盘我带实习生做真实项目的经历,拆解从 Demo 到生产环境的关键差距,给出针对应届生和大模型应用开发者的具体准备路径:别卷智商,先卷基建。大模型时代,技术的迭代速度确实快,但底层逻辑没有变。软件工程的本质,是让不确定的系统变得可靠。LLM 本质上是一个概率引擎,它天生是不确定的。

资料免费分享,点击名片 224

2025版最新计算机就业现状,零基础入门到精通,收藏这篇就够了

计算机就业现状可以从以下几个关键方面进行概述:行业需求分化热门领域需求旺盛:人工智能、大数据、云计算、网络安全、芯片设计、自动驾驶等领域技术迭代快,高端人才缺口大。传统互联网岗位饱和:前端、后端开发等基础岗位因前几年扩招导致竞争加剧,中小厂“降本增效”下招聘门槛提高。新兴交叉领域崛起:如AI+医疗、AI+金融、工业软件、机器人等,需要“计算机+行业知识”的复合型人才。学历与技能门槛大厂偏好硕士:算法岗、核心研发岗普遍要求硕士学历,部分企业校招硕士占比超60%。

小司机的奥拓 3015

2024年最全34岁0基础想转行数据分析师晚吗?_数据分析师35岁以后怎么办(2),一个月成功收割腾讯、阿里、字节offer

如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

2401_84267735的博客 466

2025大模型就业全解析:AI人才争夺战与学习路径,从校招前线看就业趋势!

2025年大厂掀起AI人才争夺战,大模型相关岗位需求激增,薪资涨幅达20-30%。AI人才供需比仅0.5,但企业招聘标准不断提高。高校教学内容与行业前沿存在错位,形成结构性人才短缺。求职者不必盲目追逐纯AI岗位,传统岗位与AI结合同样有发展空间,掌握AI技能将为职业发展提供巨大机遇。

Trb701012的博客 1745
上一篇: 【机器学习算法系列之一】EM算法实例分析
下一篇: 输入一个整数n求从1 到n这n个整数的十进制表示中1 出现的次数。
lf14
博客等级 码龄16年 54粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值