我明天有一个.NET工作面试.在过去的几年里,我一直在用.NET之外的其他语言进行开发,并认为在.NET世界中刷新一些很酷的新东西可能是一个好主意.我一直在阅读LINQ和WPF,但这些技术不仅仅是趋势.我还应该看看什么?
读过的东西:
编辑
事实证明,这次采访是高水平的,我们并没有真正深入了解.NET特定于泛型.
是否有人为Outlook Web访问编写了一个插件?您有什么资源可以指向我或您可以传递的提示吗?我对OWA 2007的兴趣可能比2003年更高,但无论你有什么,都会很棒.
每个单元测试应该检查多少?比如我有这个测试
[TestMethod]
public void IndexReturnsAView()
{
IActivityRepository repository = GetPopulatedRepository();
ActivityController activityController = GetActivityController(repository);
ActionResult result = activityController.Index();
Assert.IsInstanceOfType(result, typeof(ViewResult));
}
Run Code Online (Sandbox Code Playgroud)
并且
[TestMethod]
public void IndexReturnsAViewWithAListOfActivitiesInModelData()
{
IActivityRepository repository = GetPopulatedRepository();
ActivityController activityController = GetActivityController(repository);
ViewResult result = activityController.Index() as ViewResult;
Assert.IsInstanceOfType(result.ViewData.Model, typeof(List<Activity>));
}
Run Code Online (Sandbox Code Playgroud)
显然,如果第一次测试失败,那么第二次测试也会失败,那么这两次测试应该合并为一次测试吗?我的感觉是,测试越精细,每个测试检查越少,找到失败原因的速度就越快.但是,进行大量非常小的测试会产生开销,这可能会花费时间来运行所有测试.
我开始使用WiX(yay,而不是Installshield)做一些安装程序工作,我希望做一些安装程序的TDD.有人知道一个简单的方法吗?
我正在研究一个简单的应用程序,它将为学校生成时间表(每日计划).我已经阅读了算法的基础知识,但对于从哪里开始感到困惑.
问题:
考虑到很多限制,将教师分配到课堂上:
1)学科
2)教师的专业知识
3)不超过2个班级等等
不言而喻,应该没有重叠.基本上我需要将N名教师分配到每天有固定工作时数的M班(8).
输入:
1)班级总数
2)教师及其专业知识
3)每个班级的科目/课程
4)每班每天的讲座数量
5)其他灵活的约束条件,如教师每天的最小/最大工作时间,每位教师每周的总工作时间等
我的问题:
1)将它视为具有多个约束的赋值问题是否正确?
2)我应该使用哪种算法?(匈牙利算法?)
3)我应该从一开始就获得整套约束,然后生成表,还是应该在中间步骤中完成?
我是学习/实现算法的初学者,所以任何指导我正确方向的帮助都值得赞赏!谢谢.
我正在写一个生产发票的申请表.我想知道DTD是否有任何关于发票的协议?似乎每个人都有自己的格式.也许有一系列XSLT用于将通用标准转换为鲜为人知的格式?
试着把我的头围绕在一些F#这里,我遇到了问题.
我有一个看起来像的CSV文件
CorrelationId,TagNumber,Description,CreationDate,UpdateDate,Discipline
8D3F96F3-938F-4599-BCA1-66B13199A39A,Test 70-2,Test tag - Ignore,2016-04-05 14:55:23.503,2016-04-05 14:55:23.503,Mechanical
A9FD4B9D-F7A1-4B7D-917F-D633EA0321E3,test-4,A test tag 24,2016-03-23 15:09:54.667,2016-03-30 17:35:29.553,Civil
Run Code Online (Sandbox Code Playgroud)
我正在使用CSV类型提供程序阅读它
open FSharp.Data
type Tag = CsvProvider<"tags.csv">
let readTags (path:string) =
let tags = Tag.Load(path)
printfn "%i" ( tags.Rows |> Seq.length )
let tag = tags.Rows |> Seq.head
Run Code Online (Sandbox Code Playgroud)
然后我想验证这些行,所以我从fsharpforfunandprofit铁路导向编程中得到了一些提示.
type Result<'TSuccess,'TFailure> =
| Success of 'TSuccess
| Failure of 'TFailure
let bind switchFunction twoTrackInput =
match twoTrackInput with
| Success s -> switchFunction s
| Failure f -> Failure f
let validateTagName tag = …Run Code Online (Sandbox Code Playgroud) 我试图在Windows容器中启动RabbitMQ并使其运行,但是没有很多运气。我已经将RabbitMQ和Erlang的安装目录复制到了容器中,但是当我尝试运行时erl.exe,beam.smp.dll被告知无法加载。
PS C:\Program Files\erl8.2\bin> .\erl.exe
Unable to load emulator DLL
(C:\Program Files\erl8.2\erts-8.2\bin\beam.smp.dll)
Run Code Online (Sandbox Code Playgroud)
在主机上的相同安装目录上运行相同的命令就可以了。我检查了文件是否存在以及校验和是否匹配。我敢打赌,容器如何加载文件以及主机如何加载文件存在一些细微的差异。我只是不确定从哪里开始寻找。
我正在寻找一种在C#中获得并发集合的方法,或者至少是一个支持并发枚举器的集合.现在,当我迭代的集合发生变化时,我得到一个InvalidOperationException.我可以深入复制该集合并使用私有副本,但我想知道是否有更好的方法
代码段:
foreach (String s in (List<String>) callingForm.Invoke(callingForm.delegateGetKillStrings))
{
//do some jazz
}
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
我接受了答案,但也发现我需要确保写入集合的代码也需要尝试获取锁定.
private void addKillString(String s)
{
lock (killStrings)
{
killStrings.Add(s);
}
}
Run Code Online (Sandbox Code Playgroud) 我的NLog配置如下
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="file" xsi:type="File" fileName="${basedir}/log${shortdate}.txt" archiveAboveSize="500000" archiveEvery="Day" archiveNumbering="Rolling" maxArchiveFiles="10" layout="${date:format=s}|${level}|${callsite}|${identity}|${message}|${exception:format=stacktrace}"/>
<!--<target name="console" xsi:type="Console" />-->
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="file" />
<!--<logger name="*" minlevel="Debug" writeTo="console" />-->
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)
但是发生异常时不会记录堆栈跟踪.NLog中有错误吗?
我已经创建了一个围绕Nlog的包装器,我记录如下
public void Error(string message, Exception ex)
{
logger.Error(message, ex);
}
Run Code Online (Sandbox Code Playgroud)
我在日志中收到消息,但没有收到堆栈跟踪.
提前致谢
c# ×2
tdd ×2
.net ×1
algorithm ×1
concurrency ×1
docker ×1
erlang ×1
f# ×1
logging ×1
nlog ×1
outlook ×1
plugins ×1
scheduling ×1
stack-trace ×1
testing ×1
unit-testing ×1
wix ×1
xml ×1
xslt ×1