Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sr.net开发人员是否需要数据结构知识?_C#_.net_Asp.net_Windows - Fatal编程技术网

C# Sr.net开发人员是否需要数据结构知识?

C# Sr.net开发人员是否需要数据结构知识?,c#,.net,asp.net,windows,C#,.net,Asp.net,Windows,前几天我在看一份招聘启事,惊讶地发现这一要求。 了解标准数据结构(b-树、链表、哈希)和标准算法(排序、合并、b-搜索) 主要需求是.NET3.5,不过是C#UI程序员。我在大学时就研究过,但从来没有机会实施 你们中有多少人编写了不使用.net类进行排序或搜索的代码?既然有这么多可用的.net类,为什么Sr.net开发人员还要关心这些数据结构和算法呢?有多少?没有 这一要求(很可能来自投资银行)可能只是为了测试候选人的科学背景 更新 我不知道你为什么要抨击我的答案。问题是“你们中有多少人在不使用

前几天我在看一份招聘启事,惊讶地发现这一要求。 了解标准数据结构(b-树、链表、哈希)和标准算法(排序、合并、b-搜索)

主要需求是.NET3.5,不过是C#UI程序员。我在大学时就研究过,但从来没有机会实施

你们中有多少人编写了不使用.net类进行排序或搜索的代码?既然有这么多可用的.net类,为什么Sr.net开发人员还要关心这些数据结构和算法呢?

有多少?没有

这一要求(很可能来自投资银行)可能只是为了测试候选人的科学背景

更新

我不知道你为什么要抨击我的答案。问题是“你们中有多少人在不使用.net类的情况下编写了进行排序或搜索的代码?”我说没有。你们中的哪一个已经做了,并且给出了负数,只有你们自己编码了实际的算法。这不是了解这些想法的好处,我更喜欢深入的知识和深入的理解,而不仅仅是一个如何做的世界。每个认识e的人都会证实这一点,

有多少人?没有

这一要求(很可能来自投资银行)可能只是为了测试候选人的科学背景

更新


我不知道你为什么要抨击我的答案。问题是“你们中有多少人在不使用.net类的情况下编写了进行排序或搜索的代码?”我说没有。你们中的哪一个已经做了,并且给出了负数,只有你们自己编码了实际的算法。这不是了解这些想法的好处,我更喜欢深入的知识和深入的理解,而不仅仅是一个如何做的世界。每个认识e的人都会证实这一点,

当你不知道手头有哪些工具时,你如何才能决定如何最好地解决问题?是的,高级程序员当然必须理解这些基础知识(在我的书中,您列出的都是每个程序员都需要理解的基础知识)

高级程序员的工作也是做决定,尤其是在设计方面。如果不知道你有哪些选择,你就无法做出这些决定


即使你打算“只是”在你的余生中只做UI编程,你也需要理解这些事情。例如,您需要了解什么是树以及它是如何工作的:您的视图层次结构就是一个。您需要对数据进行排序,以便向用户表示数据,因此,如果数据非常大,您需要知道哪些排序算法适合于此项工作,或者如何将其转换为适当的结构(哪个?)使UI简洁和/或不使用大量内存。

当您不了解手头有哪些工具时,如何才能决定如何最好地解决问题?是的,高级程序员当然必须理解这些基础知识(在我的书中,您列出的都是每个程序员都需要理解的基础知识)

高级程序员的工作也是做决定,尤其是在设计方面。如果不知道你有哪些选择,你就无法做出这些决定

即使你打算“只是”在你的余生中只做UI编程,你也需要理解这些事情。例如,您需要了解什么是树以及它是如何工作的:您的视图层次结构就是一个。您需要对数据进行排序以向用户表示数据,因此,如果数据非常大,您需要知道哪些排序算法适合于此项工作,或者如何将其转换为适当的结构(哪些?),以使UI简洁和/或不使用大量内存。

“知识”并不一定意味着“实现”。你知道“O”字吗

我不得不用较旧的语言实现其中一些数据结构和算法。我在C#中实现了一些,作为一种智力练习。有些在.NETFramework中是不可用的(我认为是黑色/红色树),但代码在web上是现成的。大多数时候,我只需要知道性能BigO()=1,n,n*m,n^2,n^m,2^n,logn,等等

高级开发人员必须了解所选数据结构的性能。我见过“Sr”。在工作“完成”之前,开发人员不会在意。这种发展通常不具规模。

“知识”并不一定意味着“实施”。你知道“O”字吗

我不得不用较旧的语言实现其中一些数据结构和算法。我在C#中实现了一些,作为一种智力练习。有些在.NETFramework中是不可用的(我认为是黑色/红色树),但代码在web上是现成的。大多数时候,我只需要知道性能BigO()=1,n,n*m,n^2,n^m,2^n,logn,等等


高级开发人员必须了解所选数据结构的性能。我见过“Sr”。在工作“完成”之前,开发人员不会在意。这样的发展通常不具规模。

这些知识创造了你自己的专业背景,帮助你解决另一个现实世界的问题。例如,对数据结构的了解有助于您在特定条件下选择正确的数据结构,这有助于您了解应用程序中发生了什么,并有助于构建自己的应用程序

关于O表示法的基本知识也可以帮助您在不同的数据结构或算法实现之间进行选择


我怀疑您是否有创建自己的数据结构的经验,但我相信即使在LINQ时代,这些知识也会对您有所帮助。

这些知识创建了您自己的专业背景,帮助您解决另一个现实世界的问题。例如,数据结构知识可以帮助您选择正确的数据结构