你在学算法?你都学什么算法了?插入排序??你学插入排序当然会用不到了!
你要是学快排的话,抱歉,库都实现好了。
你学不实用,或者成熟的算法,当然很难用到了。前者根本用不到,后者已经被别人实现好了。
对于常见算法,最重要的是理解:它的时间复杂度、空间复杂度、功能特点等。然后呢,你就可以学点实现不是那么多的算法(比如 skiplist 啊,hyperloglog 啊,bloom filter 啊之类的。有些语言糙,连最大堆和 btree map 都没有,你需要的时候也可以去实现一个。当然前提是你知道你需要什么。
你自己的背景说得太少了,所以我不好举例。就说数据库查询吧,你知道 hash 索引和 btree 索引的差别吗?
至于面试。那是刚毕业的人,没什么实战经验,所以才会考算法这种学校里学的东西吧。不然面试会针对你应聘的工作内容来问的。当然那些大公司都很需要懂算法的人,创业公司就不怎么需要了。
再补充一点:会算法不等于会编程。很多人认为算法好就能写出好程序,are you kidding me?算法好的确能写出高效的程序,但是程序又不止高效这一方面。一个优秀的程序需要:
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…