请教一下,前端真的会有算法诉求吗?

2022-08-05 11:18:57 +08:00
 jeodeng

就比较好奇,大家公司里前端真的有算法诉求吗?还是说算法更多是考核思维? 如果是做基建、设计框架(如 vue\react )我还能理解, 70%的前端应该是写交互、渲染\优化、样式\兼容这几点吧?

...想问问大家长长见识

7726 次点击
所在节点    程序员
80 条回复
wangtian2020
2022-08-05 11:25:27 +08:00
基本没有

我只用 electron 写过一次 DFS ,那个项目寻找最优方案,最后因为最优可能算不出来或者耗时过大,我就让他每次都额外判断一次时间戳,超过 5000ms 就不继续找了,当前的最好方案作为最终方案。

平时代码的素养,超过 3 层的循环就考虑有可能的性能问题,把 array.find 变为 object.key 寻找值可以提升性能。
ericls
2022-08-05 11:25:59 +08:00
游戏也是前端
byuan04
2022-08-05 11:29:53 +08:00
看你需求吧。。。如果你做个弹幕之类的,肯定有算法诉求
learningman
2022-08-05 11:31:07 +08:00
Google Docs 也是前端
horseInBlack
2022-08-05 11:35:03 +08:00
起码得知道时间复杂度和空间复杂度的概念,比如同样修改一个数组、对象,用拼接的方法会比 for 循环挨个判断修改的复杂度低得多

其他的就和设计模式,初学者上来楞学也学不明白,根本也不知道这样的做的好处,因为没吃过相关的亏
yaphets666
2022-08-05 11:35:53 +08:00
当然...之前处理数据,a/b/c d/e/f a/n/m a/b/j 一些这种用 dir/dir or fileName 形式的数据,转成树形数据。因为我不懂数据结构和算法,只能用递归做,不停地遍历循环,导致在小程序端有性能压力。

如果我懂前缀树什么的,就不会有这个问题。
jorneyr
2022-08-05 11:37:06 +08:00
很多时候遇到一个问题,可以野蛮的解决,也可以使用特定算法优雅的解决,至少前端方面我遇到过不少次。
如果你不会算法,当然觉得前端不需要算法,因为你会觉得工作中就没用过算法,所以算法无用。
TWorldIsNButThis
2022-08-05 11:37:11 +08:00
目录树用过 dfs
murmur
2022-08-05 11:37:59 +08:00
前端能拉库就拉库,库不仅好使,还经过测试,还有各种参数验证
newSimpleLife
2022-08-05 11:39:57 +08:00
需要 例如 sku 算法 只不过大多数情况不需要 因为大多涉及不到
tomieric
2022-08-05 11:45:43 +08:00
以前后端提供 N 个数组,前端写组合,需要笛卡尔积,😅
zmal
2022-08-05 11:49:28 +08:00
需要。就比如一个目录树,新手能写个 N 次方算法出来。

如果写小程序,或者老旧 windows 平台(医院自助服务机)这种对资源敏感的客户端,即使是 n^2 和 n*logn 都会体现出明显差距。
jones2000
2022-08-05 11:50:30 +08:00
简单点的算法前端还是可以算的,比如移动平均,线性回归, 协方差等等前端都可以做, 直接 js 一把梭。我自己的图形库( https://github.com/jones2000/HQChart )里就包含好多金融算法,都是前端自己算, 不依赖于后台, 后台只提供基础数据。 最关键的是前端算,不会浪费后台算力,反正现在手机,pc 配置都高的离谱,不用白不用。
dudubaba
2022-08-05 11:50:34 +08:00
一般业务前端是不到的,但是有部分前端比如用 webAR/VR 、在线文档、页游等会用到。面试算法 90%是卷(因为实在没什么好问的,大家都是这么进来的),剩下 10%才是有实际需求,或者是想考数据结构等看看基础扎不扎实。
johnnyNg
2022-08-05 11:54:44 +08:00
以前做图片曲线调节,需要拉格朗日插值算法
renhou
2022-08-05 11:58:31 +08:00
我见过把前端当做美工
还要美工也会算法的
纯纯的滴嫩儿
LiubaiQ
2022-08-05 12:05:19 +08:00
遇到了不会,会了但没遇到,肯定是两种结果。

其实只要满足有穷、确定、可行、输入、输出,就是一个算法,并不是非要局限在特定的几种数据结构的数据运算上。。。
lujiaosama
2022-08-05 12:06:41 +08:00
很少. 比如 sku 要写笛卡尔积, 树形结构组装数据.
yousabuk
2022-08-05 12:12:18 +08:00
有些需要吧,比如我们做的要在前端页面显示 /配置 modbus 的主机、从机的线圈状态 /离散量和寄存器。

问题是牵扯到真实 PLC 的地址偏移,又牵扯到是个通用的 PLC 前端程序(不能固定偏移量)。

就这个,没啥算法其实,把前端小妹妹整哭了,走了。

哎~~~~~~
DOLLOR
2022-08-05 12:43:09 +08:00
比如 tree 跟 list 之间的转化也是算法需求吧。
不然后端甩你一个组织机构 list ,然后怎么把它渲染成树形结构?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/870826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX