ITPub博客

首页 > 移动开发 > HTML5 > 深圳Web前端学习:前端工程师到底要不要学习算法知识?--【千锋】

深圳Web前端学习:前端工程师到底要不要学习算法知识?--【千锋】

原创 HTML5 作者:andy888168 时间:2019-11-14 16:05:13 0 删除 编辑

深圳Web前端学习:前端工程师到底要不要学习算法知识?--【千锋】


我从面试和日常工作两个方面来讨论这个问题


先说面试.

有种说法叫,面试造火箭,工作拧螺丝.抛开面试官想"技术pk"的可能性,我对这个的理解是,面试官想尽可能了解你编程能力的极限.

所以面试中有个一两道算法题不奇怪.


我们不需要对算法有畏惧的心理.

一般正常的算法题,面试官也不会出得非常难,会被控制在正常难度.


还有一点就是,面试的时候,面试官往往更加欣赏你对题目的解决思路,用伪代码来阐述解题的想法,也是一个很好的方式.


再说工作.

具体一点,我们是来讲算法在前端工作中应用.

web前端工作中,确实没有太多算法上的需求.

以vue等著名框架的虚拟dom的diff算法来讲,框架已经被很好的实现了,你在使用框架的时候是不会涉及到具体的diff算法.

但是理解算法,可以让你更好的理解框架,从而也能更好的使用框架,提高页面的性能.


再宽泛的来讲算法,很多特殊的需求也会需要你来设计一个算法.

比如某个需求有很多个异步请求要发送给服务器,全部完成之后,可以继续下一件事情.

可能很多人要说,这个很简单,一个Promise.all就可以解决

是的,没有错


但是请你考虑下面稍有变化的情况,因为服务器的压力问题,限制同一个客户端只能在同一时间只能发送2个异步请求,所以你就必须对Promise.all做出适当的修改

在这样的情况下,你就需要设计到一套算法去高效完成它


再举个例子,很多人在web前端之后转向了H5游戏

假设现在是个战棋游戏,里面涉及到寻路算法,那么也需要你对算法有了解

或许,你说可以从网上找现成的寻路算法.

但是因为游戏需求的多变,可能你所在公司的游戏对于道路有着不同的设定,这导致网上的算法不能直接套用,这就需要你的理解已经进一步的修改

所以这些都是现实的问题


最后,算法是编程的"里子",不管你是前端还是后端,作为一名计算机工程师,具备一定的算法能力,是一种基本要求.



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69947096/viewspace-2664155/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
莫安迪分享各类资讯文章

注册时间:2019-09-02

  • 博文量
    69
  • 访问量
    43789