你的选择:是铁杵磨成针,还是急功近利

软考拓扑排序怎么考?AOV网与拓扑序列的Kahn算法和DFS算法底层原理一篇讲透,软件设计师必考数据结构题一次搞懂 拓扑排序是软件设计师数据结构部分的高频考点,很多考生背下定义却一遇判序、求全序、判环的题目就发懵。本文从有向无环图与AOV网的概念出发,逐层拆解Kahn入度表法与DFS后序逆序法两种算法的底层机制,梳理拓扑序列不唯一、环检测三大判定结论与四 阅读详情
   小宁是微软亚洲研究院的创始人之一和软件开发总工程师,曾担任北大软件学院软件技术系主任,客座教授,现任湖南大学软件学院教授,教学指导委员会主任。
你的选择:是铁杵磨成针,还是急功近利

8月13日,NBA巨星中锋奥尼尔,姚明崇拜的榜样,来华访问。有记者问道奥尼尔对“将之道”有何理解时,奥尼尔表示一个球员要在球场上成为领袖,必须要有精湛的个人技术,在困难的时刻带领全队取胜。而这个技术则是由不断的刻苦训练才能锻炼出来。他还说:一切都从基本功开始,而不是一味的去追求视觉上的花哨。我们现在美国队的球员上场就会胯下运球其他花哨的动作。真的要想拿到冠军,需要一切从基本功去练习,只有把基本功练好了,你才有希望。

学习软件是一样的。要想成为一名优秀的软件人才,一定要刻苦训练基本功,在困难的时刻以精湛的软件技术克服困难取胜。例如,新产品急需的新技术,你能不能发明出来?一个新产品因一两个严重的bugs不能上市,你能不能尽快地修复它。这些都需要精湛的技术和经验。

我在微软开发工具部门(Visual Studio)工作时,曾参与一个新产品的研发。我们需要一个图形学新算法,微软没有。我们试图从外面购买这项技术,谈来谈去,花一百万美元只能买到一个执行程序而没有源代码。这对软件整合很不利。于是我自告奋勇,承担了这个算法的研发。我用在学校学到的算法,数据结构,数学等基础知识,成功地发明了一个新算法。此后,这个算法用在多个微软的产品中,包括 Visual Studio, SQL,Access, Visual InterDev, 等等。我也因此获得了我的第一个美国技术专利。

但是,我们现在有不少学生过于浮躁,不愿吃苦,不愿意练基本功,总想找捷径,太过于急功近利。这也许是受到当前我们社会中的浮躁风气的影响。例如,曾经有学生问我,说他不喜欢编程序,太累,说他想做架构师,或软件技术管理,他问我,怎么学才能达到这个目的。我说,你想成为成功的架构师或技术管理人才的机会太小了。我告诉他,我在微软工作了十三年,见到的架构师和技术开发经理都是,过曾经是优秀的程序员,包括比尔盖兹。

因此,铁杵磨成针,学好基本功,真的是你未来成功事业的基础。什么是基本功呢?

数学是内功!离散数学教你计算机的方式思维。是计算机逻辑和算法的基础。高等代数不仅是很好的数学训练,也是程序和算法分析的工具。概率论和数理统计在互联网时代尤其重要,被大量应用于数据挖掘。微积分是离散世界与连续世界的桥梁,教你抽象思维,也是数值分析的基础。

数据结构,算法和程序设计是程序员的看家本领,像篮球里的运球和投篮,学不好,怎么得分?中国的软件业因商业应用的发展,正面临着极大的挑战和机遇,例如,中国的无线通信已走在世界前沿,照抄照搬已不够用了,急需创新软件技术,包括算法和系统。

计算机/网络体系结构和操作系统教你计算机的基本工作原理。理解它,能帮助你理解软件内部的工作原理,使你从肤浅的皮毛走到深层,使你能写出架构合理,性能优越的软件,使你能成为调试和编写程序的高手。

英语的重要性不用我说了,是你又一只眼睛,又一张嘴,使你能与外界沟通。能进微软中国工作的人,几乎所有的人都会有机会去微软美国总部培训和工作,那里没人跟你讲中文。

但是,这么多东西,又要动手做,实践,怎么都学精学好哪? 我的建议是,有目的地学。用你目的来确定你的重点,来驱动你的学习。 这是你的又一个选择。

 
英飞凌TC3xx--深度手撕HSM安全启动(三)--TC3xx HSM系统架构 TC3xx的HSM内核是一颗32位的ARM Cortex M3,主频可达100MHz,支持对称算法AES128、非对称算法PKC(Public Key Crypto) ECC256、Hash SHA2,以及TRNG(真随机数生成)。 阅读详情

相关推荐

基于LUT表对鱼眼图像进行畸变校正

当然也可以进行图像的畸变校正操作,已知相机的焦距为fx/fy,光心为cx/cy,像素大小为p(单位mm/pixel)对于畸变校正结果图中像素点(u,v),其对应的原图中的像素坐标(u',v')的计算流程描述如下。1)假设无畸变相机成像模型的焦距和光心与原相机相同,计算得到无畸变相机成像模型中归一化平面坐标(X,Y,Z),其中X=(u-cx)/fx,Y=(v-cy)/fy,Z=1。这里x'/y'的单位为像素。

On my way 624

凌小宁教授

9月9日下午3点,凌小宁教授在复临舍报告厅07级新生做了题为“人生的选择是天使也是魔鬼”的主题演讲。     演讲中,凌教授向同学们讲解了成为软件业领军人物所应具备的五种能力,以及在学习与人生中如何抉择,同时他也强调,在学习生活中一定要打好基础,动手实践。他说,当你离开父母走进大学,你就有了选择的自由,选择的力量。你可以选择你自己方式,做你喜欢的事,实现你的梦。但是,选择的力量既是天使又是魔

huaweitman的专栏 884

中标麒麟离线安装nginx所需rpm和源码包

该资源是在华为泰山服务器鲲鹏920cup中标麒麟操作系统上离线安装nginx所需的所有rpm包和nginx源码

【前缀和模板】:区间求和(前缀和)——题解

前缀和——前缀和模板学习

2601_96587588的博客 528

Bellman-Ford——贝尔曼福特算法

而今天学习的贝尔曼福特算法,是用于计算单源,且可含负边权的最短路径问题。其优于Dijkstra的方面是边的权值可以是负数,但还是那句话鱼和熊掌不可兼得啊,时间复杂度自然有点高。,1的距离+W<1到3的边权>)结果为3,再到k=2,2的距离不变,看2到3的距离min(3,2的最短距离+W<2到3的边权>)结果为2。我们之前学习了Dijkstra算法,用于计算单源,正边权的最短路径。,1的距离+W<1到2的边权>)结果为1,再从1到3的距离min(,接下来k=1,1到2的距离min(

2601_95090143的博客 259

数据结构排序(二)

数据结构讲解

2503_94479566的博客 249

LeetCode 69. x 的平方根(二分查找详解 + Java Python 实现)

x的平方根

2603_95532426的博客 174

米哈游大模型算法实习面试题

(1) 二分类:Binary Cross-Entropy(BCE):输出经 sigmoid 映射到 [0,1],损失 = –[y·log(p) + (1–y)·log(1–p)]。(2) 现代 Decoder-only 的关键改进:相比原始 GPT,现代 LLM 标配:Pre-RMSNorm(替代 Post-LayerNorm,训练更稳定)、RoPE(替代绝对位置编码,支持长度外推)、SwiGLU 激活(替代 ReLU/GELU,更强表达)、GQA/MQA(减少 KV Cache,推理提速)。

2401_86853478的博客 195

算法详解4:买卖股票的最佳时机系列(上)

由于题目要求我们手中只能持有1股,所以在每天结束的时候我们手中就会出现持有股票和没有股票两种状态。那么我们不需要纠结今天到底该不该交易,我们只需要关注今天结束时,这两种状态下我的‘口袋里的现金’分别是多少。卖出股票就是“获得现金”,利润增加。我们将示例1代入到我们的方法中去获取了最小值1,但是最大值是7。我们不获取卖出时候的价格,只获取卖出时候的利润即可。题目要求我们在可以当天多次买卖股票,但是手中最多只能持有1股,然后获取最大利润。题目要求我们在某一天进行买入然后在之后的日子里面卖出从而获取最大利益。

qq_73640809的博客 366

仪表读数识别算法接入AI视频分析平台全流程与读数误报优化指南(附接口字段与排查表)

在变电站巡检、化工园区及工业制造场景中,基于指针表读数视觉算法的仪表读数识别常常面临视角倾斜变形、表盘玻璃反光、夜间红外模糊以及指针与刻度线粘连等工程痛点。本文立足现场实施工程师视角,梳理从工业摄像机 RTSP/GB28181 视频流接入、表盘透视变换校正、刻度与指针关键点定位到 JSON 结构化读数输出的全流程,并提供标准接口字段示例与 8 种高频读数异常/误报排查清单,帮助工程师快速构建稳定可靠的自动化巡检读数闭环。

tt120326的博客 358

leetcode 2091. 从数组中移除最大值和最小值 中等

将最大值和最小值都移除需要从数组前面移除 2 个元素,从数组后面移除 3 个元素。数组中只有这一个元素,那么它既是数组中的最小值又是数组中的最大值。将最大值和最小值都移除需要从数组前面移除 3 个元素。中有一个值最小的元素和一个值最大的元素。数组中的最大元素是 nums[1] ,值为 10。数组中的最小元素是 nums[1] ,值为 -4。数组中的最大元素是 nums[2] ,值为 19。数组中的最小元素是 nums[5] ,值为 1。你的目标是从数组中移除这两个元素。移除一个元素或从数组的。

2401_88085478的博客 229

排序-堆排序(Heap Sort)

摘要:堆排序是一种基于二叉堆数据结构的原地排序算法,凭借稳定的 O(nlog n) 时间复杂度和 O(1) 的额外空间开销,弥补了冒泡、选择、插入排序在大规模数据下效率低下的短板。本文从堆的底层性质出发,完整讲解堆排序的原理、向上调整、向下调整、建堆逻辑与排序流程,重点剖析「升序建大根堆、降序建小根堆」这一核心口诀的根本原因,并给出可运行的 C++ 代码实现,帮助读者彻底吃透堆排序。

2401_87882972的博客 87

使用递归对数组进行反转操作

明确终止条件时停止递归。缩小问题规模:每次交换首尾元素后,将区间缩小为。初始值表示从数组第一个元素开始交换。递归反转数组虽然直观,但由于空间复杂度为 O(n),在处理超大数组时可能不如双指针迭代法高效。不过作为递归思想的经典练习,它非常适合帮助理解递归的「递推 + 回归」过程。

qq_38030465的博客 187

算法30,前缀和,和为k的子数组

✅“以前有没有出现过sum - k?有的话,有几个?每一个出现,都对应一个合法子数组。

sheshibenniaodan的博客 161

水位识别算法接入AI视频分析平台全流程与误报优化指南(附接口字段与排查表)

在河道水利、水库防汛与城市排水监控场景中,基于视频水位识别(水位识别算法)的自动化监测常面临水面波浪倒影、夜间红外补光不足、水尺积垢遮挡以及立杆抖动导致的误报和读数偏差问题。本文立足现场部署工程师视角,梳理从工业摄像机 RTSP/GB28181 视频流接入、算法商城部署、水尺刻度/水体交界线分割到结构化水位数据输出的全流程,并提供标准 JSON 接口字段示例与 8 种高频异常排查清单,帮助工程师快速建立高可靠的水位监控闭环。

weixin_63598920的博客 677

【计算机网络 | 网络层9:路由选择算法:距离向量与链路状态算法

路由选择算法把路由器和链路抽象为带权图,并为每个目的地求出合适的下一跳。链路状态算法先通过洪泛让所有路由器获得一致的全网地图,再各自运行 Dijkstra;距离向量算法则让每台路由器只与邻居交换距离估计,依据 Bellman-Ford 关系异步迭代更新。理解这两种基本思路后,再看具体协议就更清楚了:OSPF 如何在自治系统内部用链路状态建立路由,BGP 又为什么在自治系统之间更强调策略而非单纯最短路,将是下一篇的重点。如果这篇文章对你有帮助,欢迎。你们的支持是我前进的动力!

DdigitalNomad的博客 362

常见限流算法与Sentinel限流机制

阿里的sentinel,sentinel基于滑动时间窗口算法统计调用数据,提供了如下限流实现快速失败(DefaultController),基于滑动时间窗口的统计数据,如果当前QPS已达到阈值则立即限流,严格保证流量小于限流阈值,属于 “滑动时间窗口限流算法”的特点。排队等待(RateLimiterController),根据限流阈值计算请求放行的时间间隔,如果过两个请求之间的间隔时间过短,则计算第二个请求需要等待的时间,并通过Thread.sleep让第二请求线程进行等待。

Sexycake的博客 509

LeetCode 每日一题 2654. 使数组所有元素变成 1 的最少操作次数

<think>我们根据要求,生成不超过150字的文章摘要。需要从给定内容中提取核心信息:题目是LeetCode 2654,目标求使数组全部变1的最少操作次数;关键思路:若存在1,答案n-cnt;否则需找连续子数组gcd为1的最短长度min_len,总操作=min_len-1+n-1;若全局gcd>1则-1;复杂度O(n^2)。摘要需简洁。</think>本题要求通过相邻数替换为GCD的最少操作使数组全为1。若已有1,答案为n减1的个数;否则需找到GCD为1的最短连续子数组,总操作为其长度减1再加n-1;若全

软小行的博客 200

数据结构算法—最短路径的算法

<think>我们只需要根据给定的长文生成≤150字的摘要。内容主要介绍最短路径问题、算法分类、单源与全源算法等。需要概括核心要点,不要遗漏重要信息。注意字数限制。</think>最短路径问题分单源与全源两类,主要算法包括Dijkstra、Bellman-Ford、SPFA、A*及Floyd-Warshall、Johnson等,各有适用场景与复杂度。应用覆盖导航、网络、社交、金融、生物等领域,实际中需根据图的特性与需求选择合适的算法

fpcc的专栏 174

【力扣hot100】贪心专题|121、55、45、763

内容是关于贪心算法的几道LeetCode题目:买卖股票最佳时机、跳跃游戏、跳跃游戏II、划分字母区间。摘要是对内容的概括,需要简洁,不超过150字。注意是中文摘要。</think>本文介绍了贪心算法的四个经典LeetCode问题:买卖股票通过记录最低价求最大利润;跳跃游戏判断最远覆盖范围是否可达;跳跃游戏II在边界处跳至最远位置求最少步数;划分字母区间依据字符末次出现位置分割片段。核心是每次做局部最优选择,逐步达到全局最优。

2401_87144364的博客 190

随机排列与Fisher-Yates算法

将上面7张牌进行随机排列,可能会得到下面结果。

m0_73249924的博客 269
上一篇: 使用GridView的模板列实现在线编辑的功能
下一篇: GridView设置多个DatakeyNames并获取值
spring21st
博客等级 码龄20年 449粉丝 407原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值