找回密码
 立即注册
搜索
楼主: hou_hua

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

[复制链接]
     
发表于 2024-11-21 08:30 来自手机 | 显示全部楼层
我就是非常不喜欢写算法题的人,但是为了找工作努力刷了两周。效果还是很不错的,这个就当是小高考努力下吧,至少这件事坚持就会有结果,加油
回复

使用道具 举报

     
发表于 2024-11-21 08:34 来自手机 | 显示全部楼层
本行业看,不光面试。。现在手机行业大厂的技术晋升好像都要考算法的,其他互联网行业估计更加重要了。
回复

使用道具 举报

     
发表于 2024-11-21 08:42 | 显示全部楼层
算法思路决定的是你的上限,越好的岗位越关注你的上限
回复

使用道具 举报

     
发表于 2024-11-21 08:42 来自手机 | 显示全部楼层
校招一般因为没有项目经验,只能靠算法筛选,如果你有本事做足够多项目,让面试官可以一直问你项目问题,就不用算法。多年经验的社招一般就这样,对面如果看上你的,不会出很难的算法题。

—— 来自 motorola XT2241-1, Android 14上的 S1Next-鹅版 v3.0.0-alpha
回复

使用道具 举报

     
发表于 2024-11-21 08:47 | 显示全部楼层
我觉得一般看做什么吧……写业务代码的99.999%是用不到算法的
回复

使用道具 举报

     
发表于 2024-11-21 08:54 | 显示全部楼层
下个boss直聘,看看高薪岗位的需求是什么样的,直面市场
回复

使用道具 举报

     
发表于 2024-11-21 09:08 来自手机 | 显示全部楼层
实际工作中90%的问题好像都靠标准的map和hashtable解决了(笑
回复

使用道具 举报

     
发表于 2024-11-21 09:12 来自手机 | 显示全部楼层
你写的每一道算法都不会辜负你的努力,算法对你发展是一个持续增益,就像(1+增益)*时间,学得越早增益越高你最后收益也会越高。当然这是以发展的眼光看问题,你要是随便找个岗位摆烂不怎么发展那可能算法真没什么用处。

—— 来自 HONOR CHL-AL00, Android 10上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2024-11-21 09:16 | 显示全部楼层
给基建手搓diff能力的时候用到过正经业务需求如果会遇到要写这种算法的代码,会先check有没有必要,是不是哪里理解错了。是不是整体流程有优化空间,不然不太可能在我负责的地方写这种算法代码。
当然有剑不用和没有剑是两个概念。打acm的同学在读代码能力,设计能力,边界和极端条件处理上会比同时期的人更强。起码写技术方案的时候会有很强的意思知道要处理这些。
回复

使用道具 举报

     
发表于 2024-11-21 09:19 来自手机 | 显示全部楼层
工作中代码写得好的人,算法题不一定做的明白。
但是能把算法题做明白的人,工作中大概率可以写出好代码。

—— 來自 鵝球 v3.1.88.3
回复

使用道具 举报

     
发表于 2024-11-21 09:23 | 显示全部楼层
算法对编码习惯和思维训练有帮助
起码你处理好那一堆边界条件,实际工作的代码就不太会写出一堆雷
回复

使用道具 举报

     
发表于 2024-11-21 09:38 | 显示全部楼层
写代码99%的时间和在银行填写业务申请表、出入境填证件申请表没什么区别,本质上还是阅读的代码量足够多,在合适的时候,脑子里自动能蹦出来以前见过的类似的代码实现方式,而不是处处自己搞发明创造,写出另类的写法

评分

参与人数 1战斗力 +1 收起 理由
海底铁锚 + 1 好评加鹅

查看全部评分

回复

使用道具 举报

     
发表于 2024-11-21 09:44 | 显示全部楼层
为什么要搞acm,因为他屌啊
你想不想做个屌人?

我那个年代移动互联网爆发伊始,不搞算法搞web搞安卓ios能挣到更多的钱,所以我也思考过这个问题
现在这个年代,那肯定是搞算法更硬通货

论坛助手,iPhone
回复

使用道具 举报

     
发表于 2024-11-21 09:48 | 显示全部楼层
我是高中竞赛出身,本质做题家,所以我当年跟楼主正好相反,我只觉得做算法题有意义(虽然成绩也一般),从实际开发中找不到乐趣。同学们学ios开发,playground里搞出一些东西都很兴奋,我完全体会不到,也想不到要用这个技能做什么东西。所以最后我跑路了。
楼主你这才是一个技术人才的成长路径。
回复

使用道具 举报

     
发表于 2024-11-21 09:49 | 显示全部楼层
不写出复杂度O(n²)就问题不大
回复

使用道具 举报

     
发表于 2024-11-21 09:50 | 显示全部楼层
本帖最后由 阿涛叔 于 2024-11-21 10:05 编辑


第一,看你对算法的定义,如果局限于基础算法,比如常见数据结构、常见搜索,作为大一计算机学子,时间充裕,完全有学的必要。
从我的经验来看,从C语言语法熟练,到掌握常见数据结构增删改查,能根据问题爆搜、深广搜,大概需要100-200个小时左右(其实大部分时候能暴搜就够用了)。对自己的计算机思维提升非常巨大,大学生活抽一点时间来练习完全值得。

第二,看你未来要什么岗位了。
游戏岗的话算法几乎是必学,基础的一些搜索、寻路什么的,又或者说为自己的游戏添加一个简单AI,这些迟早会遇到。
底层开发岗则是侧重数据结构,链表随处可见,如果有志于发展新道路,做一些提供给别人的模块,甚至可能手戳语法树等轮子。
顶层业务岗,如WEB前后端,需求巨大,整个框架已经被抽象干净,基本很少用到算法。不过向上发展,深入框架,做一些中间件的时候,也会撞到一些算法。

总之,你不会算法也可以做游戏、做硬件、做底层、做业务,不妨碍你开发,但是有一些性能上、核心上的需求有可能做不了。而你现在还在大一,抽一点时间学一下并不亏。




-----------
丢给AI整理了,AI真可怕(划掉)好用。
-----------

一、 基础算法的重要性:
1.  对于大一计算机专业的学生来说,学习基础算法是有必要的。这包括常见的数据结构和算法。
2.  从C语言的语法熟练到掌握常见数据结构和算法,如常见数据结构的增删改查、深度优先搜索(DFS)、广度优先搜索(BFS),大约需要100-200小时的学习时间。
3.  这样的学习对提升计算机思维能力非常有帮助,而且大学生活中抽出一些时间来练习是完全值得的。

二、根据未来职业规划选择学习重点:
1. 游戏开发岗位:算法几乎是必须掌握的,因为基础的搜索、寻路算法,以及为游戏添加简单AI等功能,都是游戏开发中常见的需求。
2. 底层开发岗位:更侧重于数据结构,因为链表等数据结构在底层开发中非常常见。如果有意发展新的道路,比如开发供他人使用的模块,甚至可能需要手动实现语法树等底层功能。
3. 顶层业务岗位(如WEB前后端):算法的需求相对较少,因为整个框架已经被高度抽象,基本很少直接使用算法。但是,如果希望向上发展,深入框架或开发中间件,可能会遇到一些算法问题。

三、总结
即使不精通算法,也可以从事游戏开发、硬件开发、底层开发或业务开发,这不妨碍基本的开发工作。关键在于是否希望长期在技术领域发展,如果是,那么深入学习算法将是一个重要的步骤。

回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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