数据结构论坛

首页 » 分类 » 定义 » 技术不错的程序员,为何面试却屡战屡败
TUhjnbcbe - 2023/8/27 21:09:00

为何很多有不少编程经验,技术能力不错的程序员,去心仪公司面试时却总是失败?至于失败的原因,可能很多人都没意识到过。

01想要通关面试,千万别让数据结构拖了后腿

很多公司,比如BAT、Google、Facebook,甚至以技术作为支撑的中小型互联网公司,面试的时候都喜欢考数据结构、算法,让人现场写代码。

有些人虽然技术不错,但每次去面试都会“跪”在算法上,很是可惜。那你有没有想过,为什么这些大公司都喜欢考算法呢?

校招的时候,参加面试的学生通常没有实际项目经验,公司只能考察他们的基础知识是否牢固。社招就更不用说了,越是厉害的公司,越是注重考察数据结构与算法这类基础知识。相比短期能力,他们更看中你的长期潜力。

01稳固的基础知识,决定了你的高度

你是不是觉得数据结构和算法,跟操作系统、计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不着?

可是你听说过技术过时,什么时候听说过算法过时,不仅没有过时,因为机器学习、大数据的要求,算法变得越来越重要了。

当然,也有很多人说,自己实际工作中根本用不到数据结构和算法。所以,就算不懂这块知识,只要JavaAPI、开发框架用得熟练,照样可以把代码写得“飞”起来。

你别忘了,我们学任何知识都是为了“用”的,是为了解决实际工作问题的,学习数据结构和算法自然也不例外。

02

业务开发工程师,你真的愿意做一辈子CRUDboy吗?

如果你是一名业务开发工程师,你可能要说,我整天就是做数据库CRUD(增删改查),哪里用得到数据结构和算法啊?

是的,对于大部分业务开发来说,我们平时可能更多的是利用已经封装好的现成的接口、类库来堆砌、翻译业务逻辑,很少需要自己实现数据结构和算法。

但是,不需要自己实现,并不代表什么都不需要了解。

我来举一个你非常熟悉的例子:如何实时地统计业务接口的99%响应时间?

你可能最先想到,每次查询时,从小到大排序所有的响应时间,如果总共有个数据,那第个数据就是99%的响应时间。很显然,每次用这个方法查询的话。

都要排序,效率是非常低的。但是,如果你知道“堆”这个数据结构,用两个堆可以非常高效地解决这个问题。

03不仅要

1
查看完整版本: 技术不错的程序员,为何面试却屡战屡败