我即将为我们的ASP.NET MVC项目雇用一名新的程序员。我在采访中非常重视我对候选人的态度有多喜欢,以及我如何看待他们的工作,与他们交谈并享受成为团队的一员,但在更实际的说明中,我需要剔除那些与那些实际上有能力适应和克服日常编程问题的人交谈。
任何人都可以提出任何好的简短问题/练习(最好是在C#中),以便将聪明的候选人与优秀的谈话者分开吗?
更新 - 非常感谢所有回答的人,我选择了传统StackOverlfow方式中投票最多的人,但仍然感谢所有其他建议。
答案 0 :(得分:23)
来自MVC首字母缩略词的哪一封信应该负责在网上商店网络应用程序中执行以下功能:
等
答案 1 :(得分:10)
ASP.Net MVC访谈中可能会提出的问题。
1-什么是ASP.Net MVC?
2-什么是Razor?
3-什么是TDD?
4-什么是BDD?
5-什么是依赖注入(DI)?
6-什么是ViewData和ViewBag?
7-在哪个程序集中定义了MVC框架?
8-模型,视图和控制器在MVC应用程序中表示什么?
9- ASP.NET MVC的优点是什么?
10-哪种方法为测试驱动开发提供了更好的支持 - ASP.NET MVC或ASP.NET Webforms?
11-控制器动作方法的不同返回类型的名称?
12- NonActionAttribute的意义是什么?
13-是否可以跨多个控制器共享视图?
14-控制器在MVC应用程序中的作用是什么?
15- asp.net MVC应用程序中定义的路由规则在哪里?
16- ASP.NET MVC应用程序中存在的默认路由的3个段是什么?
17- ASP.NET MVC应用程序,利用2个位置的设置进行路由以正常工作。这两个地方是什么?
18-使用ASP.NET路由的优点是什么?
19-指定路线需要做的3件事情是什么?
20-以下默认路线的用途是什么?
21-向网络表单应用程序和mvc应用程序添加路由有什么区别?
22-如何处理路径定义中的可变数量的段?
23-为路线添加约束的两种方法是什么?
24-在没有应用路由的情况下给出2个示例?
25- MVC应用程序中动作过滤器的用途是什么?
26-如果我实现了多个过滤器,这些过滤器的执行顺序是什么?
27-在asp.net mvc应用程序中有哪些不同类型的过滤器?
28-举例说明asp.net mvc应用程序中的授权过滤器?
29-哪个过滤器首先在asp.net mvc应用程序中执行?
30-在asp.net mvc应用程序中应用过滤器的级别是什么?
31-是否可以创建自定义过滤器?
32-最后执行了哪些过滤器?
33-是否可以取消过滤器执行?
34- OutputCacheAttribute类表示什么类型的过滤器?
35- 2个流行的asp.net mvc视图引擎是什么? 36-您将使用什么符号来表示剃刀视图中代码块的开始?
37-您将使用什么符号来表示aspx视图中代码块的开始?
38-在剃刀语法中,@符号的转义序列字符是什么?
39-使用剃刀视图时,您是否必须采取任何特殊步骤从跨站点脚本(XSS)攻击中获取asp.net mvc应用程序?
40-当使用剃刀视图时,什么是asp.net主页等效?
41-什么是部分?
42-剃刀视图的文件扩展名是什么?
43-如何使用razor语法指定注释?
44 - ASP.NET MVC中值参数的处理是什么?
45-什么网站托管对ASP.NET MVC有利?
46- Asp.Net MVC项目中的区域是什么以及如何在ASP.Net Projects中实现区域/
47-如何在ASP.Net mVC项目中使用会话?
48-如何在ASP.Net应用程序中将数据从一个页面持久保存到另一个页面?
49-什么是Tempdata?
50-什么是JSON?
51-什么是Lambda表达式?
答案 2 :(得分:9)
首先要做的事情。他们甚至知道什么是MVC。不只是TLA(三个字母的缩写),但他们可以向你描述它。那有什么好处。问他们对此的看法也没有什么坏处。很高兴知道他们是否喜欢MVC框架。
接下来,询问他们是否使用过任何其他MVC框架。 Struts,Spring MVC,Zend或类似的东西。
询问他们是否知道会话何时开始,网络上的一般状态问题等等。
还有一点数据库。询问他们是否有使用数据库持久层的经验。
然后只是因为你可以提出一个很难的技术问题,请他们编写一个函数来比较价值和结构中的两个二叉树,看它们是否是同一性的。
答案 3 :(得分:5)
任何在面试之前阅读好MVC书或MVC 101的人都可以回答诸如MVC之类的问题,描述它等等。确定他们是否具有MVC的任何工作知识的确定方法是询问他们,按照他们如何使用MVC接近Web应用程序的步骤来布置步骤。例如:他们说,他们会首先布置模型吗?或观点?为什么?他们首先在控制器上工作吗?只是典型应用程序的基本流程。一个按顺序描述这个过程的候选人,并说明为什么它是这样的原因,等等..将是你正在寻找的胜利者。
答案 4 :(得分:4)
什么是MVC?
答案 5 :(得分:4)
您是否正在聘请承包商进行短期项目?
如果答案是否定的,我认为MVC不应该真正考虑到这种情况。你几乎不应该期望一个非雇佣枪的员工只是投入并提高工作效率。说实话,MVC并不是一个困难的学习曲线。如果你是长期聘用某人,而他们的第一个项目恰好是一个MVC网站,我认为你可以更好地判断他们的一般能力,而不是特定的技术。
相反,看看他们对设计模式的理解。 MVC不是一种新方法。如果该人能够理解SOC,他们应该能够轻松地了解MVC的细节。天啊,他们可能会在飞行中学习它。
答案 6 :(得分:2)
要求他们对现有的MVC网站进行一些实质性(但简单的)更改。
这将让您了解它们对MVC网站的组织有多熟悉。如果您要求他们进行HTML更改,他们会直接进入Views文件夹吗?如果您的更改是业务逻辑,那么他们会直接进入控制器操作吗?
听起来有点明显,我意识到。但如果他们对这些事情犹豫不决,那就意味着他们实际上并没有在MVC上花费太多时间。你正在测试速度,真的。
答案 7 :(得分:1)
告诉他在写板上绘制ASP.NET MVC模型的流程
答案 8 :(得分:1)
很有趣。前几天我问了一个接近的问题。看看你是否在那里找到了有用的东西。
Can asking a developer whether he prefers WebForms or MVC be a good indicator of his proficiency?
答案 9 :(得分:1)
我认为最好的选择不一定是问题,而是在他们的投资组合中。查看他们构建的应用程序并直接在应用程序上对其进行问题。为什么这样,为什么呢?这样你就可以很好地理解他们的发展方式。希望他们理解框架和关注点的分离。
答案 10 :(得分:0)
你可以问他们:Asp.net MVC如何帮助制作搜索引擎友好的网站? Routings如何在.net MVC中运行?,ViewEngine在asp.net中的作用是什么,如果是,那么我们可以使用自定义viewengine吗?如何在类名中没有后缀“Contrller”的情况下创建控制器类?
答案 11 :(得分:0)
我在datalist中使用计时器进行倒计时,其值显示在标签中。
但我的问题是它在datalist中没有正确的更新时间,当我刷新页面以便获取更新
时