找回密码
 立即注册
搜索
查看: 4021|回复: 55

[求助] 有从事计算机行业的前辈吗,本大一学生对做算法题有些疑问

[复制链接]
     
发表于 2024-11-20 23:59 来自手机 | 显示全部楼层 |阅读模式
不讨论竞赛对找工作的加分,也不讨论面试时可能被问到到各种题(因为这方面当然有用)
仅仅讨论刷过的题对实际解决工作中遇到的问题有没有帮助
这个问题一直困扰我,因为我对竞赛没有兴趣,对算法题也美什么兴趣,认知里就是面试或笔试时会用上
并不是说不爱学东西,我也有在学虚幻引擎和web开发,目前虽然也只是接触了一点点皮毛,不敢讲会,但学这些东西的时候非常开心
以后只是为了就业我也肯定会学一点算法题的,但是现在比较好奇做算法题对实际工作能力有多大影响,在工作里面能起多大作用

—— 来自 S1Fun

评分

参与人数 1战斗力 +2 收起 理由
lardner + 2 欢乐多~招聘造火箭,工作ctrlc

查看全部评分

回复

使用道具 举报

     
 楼主| 发表于 2024-11-20 23:59 | 显示全部楼层
发贴吧了没人回
想着s1会不会有人理我

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-11-21 00:01 | 显示全部楼层
本帖最后由 カドモン 于 2024-11-21 00:11 编辑

这个东西就是,有时候要做某个实现,突然想起来,哦草有个数据结构可以用,有个方法可以遍历的快点儿

平时一般都是搬砖螺丝钉,你多看点儿sql之类的都更有用


现在校招面试算法问得多就是为了纯筛人,因为人太多了

社招一般都会问一个,看他想不想要你,想要你就反转链表或者上个楼梯之类的,不想要你就来点儿难度面评写差点儿。 一般来面试的老几多半也就是有了面试安排提前瞅两眼,你让他真整点儿活儿,除非他也在刷题跑路不然也写不出来。

评分

参与人数 1战斗力 +1 收起 理由
灞桥春雪 + 1 还真是

查看全部评分

回复

使用道具 举报

发表于 2024-11-21 00:02 | 显示全部楼层
你做游戏的时候要设计一个战斗系统或机制,那大概率和数据结构算法强关联
回复

使用道具 举报

发表于 2024-11-21 00:04 | 显示全部楼层
hou_hua 发表于 2024-11-20 23:59
不讨论竞赛对找工作的加分,也不讨论面试时可能被问到到各种题(因为这方面当然有用)
仅仅讨论刷过的题对 ...

面试能问都是些简单初级算法,高级算法一堆np复杂度的,从没见面试问过。

回复

使用道具 举报

     
发表于 2024-11-21 00:05 | 显示全部楼层
没啥直接的用处,但他们考算法主要是想考察你对你所使用的语言的熟悉程度,是否能在对应场景下使用合理的数据结构和语言的常用库

做工程的,设计模式可能更重要一些,玩语言玩得花有利于写出更好的且没人看得懂的程序
做研究的,感觉数学、交叉学科的知识会更重要一些,现在没有什么不依靠数学和对应学科知识就能搞出来的重大发现了
回复

使用道具 举报

     
发表于 2024-11-21 00:06 来自手机 | 显示全部楼层
hou_hua 发表于 2024-11-20 23:59
发贴吧了没人回
想着s1会不会有人理我

现在大公司面试一般都爱问算法题,做acm是进大公司的一个重要的门槛,证明你脑子行
回复

使用道具 举报

     
发表于 2024-11-21 00:09 来自手机 | 显示全部楼层
很少用上,但感觉能体现代码能力和思维能力
回复

使用道具 举报

     
发表于 2024-11-21 00:12 | 显示全部楼层
就像数学上学定理一样 第一次学可能要学下怎么证明 之后再用到就直接引用定理即可(你只需要记住哪些时候应该引用这个定理)
算法就是第一次学下怎么写 之后直接调包 (只用记住啥时候这个算法有用)
回复

使用道具 举报

     
发表于 2024-11-21 00:12 来自手机 | 显示全部楼层
代码有几类,纯业务逻辑不需要算法,有性能需求就得会点算法,np难问题会也没用(还是有用的,至少能想点启发式策略)

不过基本的算法还是要会的,刷过题至少写代码的时候对效率会有些追求。碰到实习生把NlogN复杂度的代码写成N^2的,效率不对给他查了半天真受不了
回复

使用道具 举报

     
发表于 2024-11-21 00:15 | 显示全部楼层
想去美国当码农的话,刷题直接决定了你是否能找到工作,国内现在算法题难度也在水涨船高,只能说目前的情况还是建议多刷多练。实际工作用用到的情况很少,除非你是专门的算法岗位,算法题本质上就是用来筛人用的,认识到这点我觉得你也能和抗拒的内心和解一下。
回复

使用道具 举报

     
发表于 2024-11-21 00:16 | 显示全部楼层
刷题至少你熟练度够,有一定的智商
基本的控制语句、逻辑判断使用熟练
基本数据类型也理解正确

能用简单的数据类型、控制、循环就能实现复杂类型的内部实现,
换上新工具的复杂类型和高级功能,就能迅速上手
回复

使用道具 举报

     
发表于 2024-11-21 00:39 | 显示全部楼层
这东西会者不难.... 你有个概念在以后工作里面会轻松很多

特别是对你擅长的语言的各种collection容器熟悉程度
回复

使用道具 举报

     
发表于 2024-11-21 00:44 来自手机 | 显示全部楼层
1,区区作为面试官,考察的应届生的维度大致有两个:现在会做啥,将来能做啥。后者比前者重要。
将来能做啥,这如何在短短的面试中得知呢?很难的,但是脑子好使不好使,学习能力如何,想新点子解决新问题的能力,还是可以从算法中窥探一些。
同样,因为面试只求精确度,不求召回率,所以聊算法题能用来刷掉智商存在问题,沟通存在障碍的面试者。
2,区区作为中年人,常常提醒自己不可因循守旧,养成找经验,背答案的惰性。所以偶尔想几道算法题,可以锻炼脑子。数学概率题也可以。

— from S1 Next Goose v3.1.90
回复

使用道具 举报

发表于 2024-11-21 00:48 | 显示全部楼层
读书一点屌用都没有
读完了也就是个打工的命
回复

使用道具 举报

     
发表于 2024-11-21 00:48 | 显示全部楼层
面试的算法题用不上可能是版本和内容匹配不了一线研发场景,就好像你目标去搞 LLM 却从决策树开始学一样。
回复

使用道具 举报

     
发表于 2024-11-21 00:49 | 显示全部楼层
底层开发,系统、数据库、包括游戏在内的各种引擎设计,对算法实现的要求还是很高的。

而对于大多数普通业务来说,只需要了解常见数据结构的原理和复杂度就行,知道扩容缩容时,性能开销的变化就行,具体实现轮不到一般人来做。

公司面试的时候考算法题本质上是考智商和好学程度,实际业务里难度达到leetcode中等题的情景都极为罕见。
回复

使用道具 举报

     
发表于 2024-11-21 00:51 来自手机 | 显示全部楼层
只要你毕业后想进任何一家叫得出名的互联网公司的写代码相关的岗位,都要刷算法题
算法题最大的作用就是用来筛选求职者
回复

使用道具 举报

     
发表于 2024-11-21 00:53 来自手机 | 显示全部楼层
chemrev 发表于 2024-11-21 00:48
读书一点屌用都没有
读完了也就是个打工的命

化学哥又来了……明明是读博瞎折腾自然没吊用,怎么拐到读书没用上了。
回复

使用道具 举报

发表于 2024-11-21 00:55 | 显示全部楼层
刷算法找工作有用. 工作了大概率都是打螺丝
回复

使用道具 举报

发表于 2024-11-21 00:57 | 显示全部楼层
起码常见的算法和复杂度要会,复杂的算法了解原理和使用场景,一般也不会让你手写
回复

使用道具 举报

     
发表于 2024-11-21 00:59 来自手机 | 显示全部楼层
就是用算法来筛选能力,能力强的人学什么干什么都很快。能力普通但是经验丰富的人也可以,但是码农的分支太多了,很难有完美匹配的,还是基础能力比较重要。

— from samsung SM-S911U1, Android 14 of S1 Next Goose v3.0.0.81-alpha
回复

使用道具 举报

     
发表于 2024-11-21 01:03 | 显示全部楼层
算法做的好,动手能力强,算法做不明白的,可能业务都写不明白,起码就我同学的经历来看,刷算法的那些人,编程能力强得可怕,没有一个年薪低于百万的。
当然你做不明白也不要紧,这也是天赋。真现场面试做题才知道,逻辑能力,反应能力,应变能力这些内功才是考察的重点,纯刷题很难培养出来,通过解题去锻炼,提升自己的思维,动手能力,对以后很有帮助。
最后提多一句,算法做不明白很正常,代码写得一坨屎的比比皆是,还自我感觉良好,如果发现自己没这能力,也很正常,接受自己的平凡是成长的一部分
回复

使用道具 举报

     
发表于 2024-11-21 01:04 | 显示全部楼层
有用啊,算法题从不会到会有种换脑子的快感。
更重要的是,刷题网站的人都是对语言求极致的人,多和这种人待在一起有益处的。
工作以后太多同事不在乎语言本身,代码能跑就行,结果写了十年还是一眼屎。
回复

使用道具 举报

     
发表于 2024-11-21 01:06 | 显示全部楼层
本帖最后由 perfect_duck 于 2024-11-21 01:21 编辑

算法是最方便的智商筛选,跟高考一个作用

我怎么知道你会是一个好的员工?
如果你能列出多种数据结构与算法,如果你能比较他们在不同情况下的优劣,如果你能麻利地完成实现,这将是非常好的 signal
很多人抱怨算法,但面试中常见算法就那么几种而已,大厂更多是通过算法考察你的抽象能力,给你讲个故事,看你能否从故事中抽象出一个具体算法
大厂走到onsite的人,大多数会卡在通过故事抽象出算法这一关,几天后他们一拍大腿,这个算法很简单我会写啊,当时却没想到写这个

算法竞赛会给人非常快速的反馈,算法竞赛的本质是电子竞技
回复

使用道具 举报

     
发表于 2024-11-21 01:09 | 显示全部楼层
看你做什么岗位了,做一些常见算法对时间复杂度有些概念,还是有用的。
做数论类型,比如码皇入群题确实用上概率很低。
回复

使用道具 举报

     
发表于 2024-11-21 01:26 来自手机 | 显示全部楼层
别想这些了,该学就学,要是有别的更重要的事要做就做,没有那学它比无所事事好的多

—— 来自 鹅球 v3.0.86-alpha
回复

使用道具 举报

     
发表于 2024-11-21 02:39 来自手机 | 显示全部楼层
我面试这些年总结下来的经验是,算法题还是可以比较快速的同时了解下面提到的或更多方面:面试者对基础的数据结构的掌握和应用;是否对这些内容有经验(或做足了准备);在面对问题时的解决思路和表达能力;在问题复杂化时的临机应变和快速思考的能力;在面对新信息时的接纳能力。

这些能力对初级中级程序员工作中需要面对的各种各样的事情都是有帮助的。

当然,也不是说了解上面这些东西只能通过做题,但对于程序员在面试中做算法题目前看确实是较为高效的一种方式。
回复

使用道具 举报

发表于 2024-11-21 02:57 | 显示全部楼层
1. 智商筛选器
2. 时时刻刻考虑代码的效率是一个很好的习惯,即使大部分时候都用不到,但是用到的时候就很关键。
回复

使用道具 举报

发表于 2024-11-21 03:07 | 显示全部楼层
你要想,如果你是一个社畜,某一天领导突然叫你去面试一个人。

你一想我本来要干的活一点不少,现在还要拿出一个小时来面试人。你难道还专门花时间去准备问题嘛?
问业务,除非候选人原来就是做这个的,要不然也根本没法问

怎么办,面试开始前两分钟,网上搜几个算法题,还有答案,然后到时候照着问呗
回复

使用道具 举报

     
发表于 2024-11-21 03:18 来自手机 | 显示全部楼层
我当了20多年码农。
算法这种东西实际工作中用处不大。
大学本科专业科目里,数据结构最有用,数据库有一点点用但是很不够。
其它专业科目大概也就起个科普作用可能还不如高数有意义。
回复

使用道具 举报

发表于 2024-11-21 03:37 来自手机 | 显示全部楼层
不能说完全没有用,也不能说非常有用。也取决你做的是效率重要的部分还是不重要的部分。比如你做一个富文本编辑器的底层(就不说编译器,浏览器,操作系统了),那对数据结构的要求就会高一些。
回复

使用道具 举报

     
发表于 2024-11-21 06:59 来自手机 | 显示全部楼层
搞业务不依赖算法,但搞计算机纯粹搞业务没前途。

—— 来自 鹅球 v3.3.94-alpha
回复

使用道具 举报

发表于 2024-11-21 07:17 | 显示全部楼层
本帖最后由 零☆壹 于 2024-11-21 07:31 编辑

算法题的意义:
国外不少大公司,你要进去肯定是要考算法的,约等于高考敲门砖,你不会等于进不去,这就是意义,我也是部分同意的,这里主要有两个作用,一是看你努力的程度---你努力刷题,把题都刷光了,能过,就说明你为找工作付出了很多努力,也是我们要的人。或者是看你脑子够不够用,算法题都能做了,肯定是智商够用的,这也避免了招人突然找到一个纯傻逼的情况。而且最近的情况是招10个人,有能力做这个的可能50个,然后来100个,你随机终归不太好,还不如考点难的起码有合理刷人的理由


算法题对于实际工作的影响:
我个人认为是基本没有的,你只要大概知道怎么回事,到时候现查也够用了,或者关键的位置和地方有专门的算法岗,然后拉起来再开会,建立讨论流程模型这些,到时候所有东西都可以慢慢过,然后再算复杂度(更多的是抄袭当前的工业成熟流程,然后最多自己改一下细微)。总之我个人感觉是这样的。(当年学过对我来说最难得课叫Parameterized and Exact Computation,学到头发一缕一缕的掉,但是确实是屌用没有
你平时写的时候用的基本上是打包好的东西,知道啥时候大概怎么用就ok,有些公司喜欢code review,那么你就犯大蠢被peer review嘲笑就行。(当然,犯大蠢的人还是蛮多的,看问题严重性了,一般来说有code review的公司,面试都很难,你都过了第一关了,只要不是脑子缺氧写代码,也不会犯大蠢的)
回复

使用道具 举报

     
发表于 2024-11-21 07:30 来自手机 | 显示全部楼层
锻炼思维
你觉你思维水平到这个地步了,那知道有这玩意存在就行
回复

使用道具 举报

     
 楼主| 发表于 2024-11-21 07:37 | 显示全部楼层
培根芝士蛋堡XD 发表于 2024-11-21 00:15
想去美国当码农的话,刷题直接决定了你是否能找到工作,国内现在算法题难度也在水涨船高,只能说目前的情况 ...

看完回复以后已经和解了
算法还是得学,但是知道正在做的事情并不是不是毫无意义学起来舒服一点

—— 来自 S1Fun
回复

使用道具 举报

     
 楼主| 发表于 2024-11-21 07:39 | 显示全部楼层
感谢各位的回复,真的对我非常有帮助
现在我对写算法题没那么抗拒了


—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-11-21 07:40 来自手机 | 显示全部楼层
知道api的文档出现的选项到底什么意义
回复

使用道具 举报

     
发表于 2024-11-21 08:02 来自手机 | 显示全部楼层
现在只有写算法题时才能找回刚学编程时的快乐

—— 来自 鹅球 v3.3.94-alpha

评分

参与人数 1战斗力 +1 收起 理由
24k纯帅 + 1 赞同

查看全部评分

回复

使用道具 举报

     
发表于 2024-11-21 08:14 | 显示全部楼层
做了这么久的开发老实说让我看自己刷过的题可能都得想半天了。但是刷题的过程是寻求解决方案的过程
如果让我去面试的话我可能也会问一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-21 20:30 , Processed in 0.186979 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表