我有一天在看招聘信息,惊讶地看到这个要求。 “标准数据结构(b树,链表,散列)和标准algorithm(sorting,合并,bsearch)的知识”
主要的要求是.NET 3.5,C#UI程序员。 我在大学时学习过他们,但从来没有机会实施它们。
你有多less人编写代码来进行sorting或search,而不使用.net类? 为什么一个Sr.net开发人员应该关心这些数据结构和algorithm呢?
.NET模拟Ctrl + Alt + Del键
loopState.Break(),loopState.Stop()和CancellationTokenSource.Cancel()之间有什么区别?
如何确定windows应用程序是否在屏幕外?
获取计算机上安装的所有驱动程序
什么时候两个.NET进程可以共享DLL内存?
在.NET中的远程机器上获取环境variables的真实值
当X509Certificate2对象的智能卡被移除时的事件
Subversion在哪里保存?
如何杀死一个正在运行的程序,以及如何去捕捉它们?
windows微秒计算精度
多少? 没有。
这个要求(很可能来自投资银行)可能只是为了测试候选人的科学背景。
UPDATE
我不知道你为什么抨击我的答案。 问题是“你们有多少人编写代码来进行排序或搜索而不使用.net类?” 我说没有。 你们中的哪一个做了这个,只给你一个负数,你们自己编写了实际的算法。 这不是了解这些理念的好处,我喜欢深入的知识和理解,而不仅仅是一个如何做的HelloWorld。 每个人都知道e会确认这一点,
当你不明白你手头有哪些工具时,你将如何做出决定如何最好地解决问题? 是的,一位高级程序员当然必须理解这些基础知识(在我的书中,所有列出的都是每个程序员都需要理解的基础知识)。
高级程序员的工作是(也)做出决定,特别是在设计方面。 不知道你有什么选择,你不能做出这些决定。
即使你要“只”做你的余生只有UI编程,你需要了解这些东西。 例如,您需要了解树是什么以及它是如何工作的:您的视图层次结构是一个。 您将需要对数据进行排序以将其表示给用户,因此如果数据非常大,您需要知道哪些排序算法适合该作业,或者如何将其转换为适当的结构(哪些?)以使UI快速和/或不使用大量的内存。
“知识”并不一定意味着“实施”。 你知道大“O”吗?
我不得不用老的语言来实现这些数据结构和算法中的一些。 我在C#中实现了一些智力练习。 有些在.NET Framework(黑色/红色树,我认为)中不可用,但是代码在网上很容易找到。 在大多数情况下,我只需要知道性能BigO()= 1,n,n * m,n ^ 2,n ^ m,2 ^ n,log n等
高级开发人员必须知道他的数据结构选择的性能。 我见过“老” 开发人员不关心,直到工作“完成”。 这样的发展一般不规模。
这个知识创造你自己的专业背景,帮助你解决另一个现实世界的问题。 例如,数据结构的知识可以帮助您在某些条件下选择正确的数据结构,这有助于您了解应用程序中发生的情况,并帮助构建自己的应用程序。
关于O-notation的基本知识也可以帮助您在不同的数据结构或算法实现之间进行选择。
我怀疑你应该有创建自己的数据结构的经验,但是我相信即使在liNQ时代,这些知识也可能对你有所帮助。
是的,也是一个初级的.NET开发者。 各级有效开发人员无需猜测其代码是否符合要求。
总结以上是内存溢出为你收集整理的Sr.net开发人员需要知道数据结构吗?全部内容,希望文章能够帮你解决Sr.net开发人员需要知道数据结构吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)