微软面试题, 美国 Asp.net Team 第一面 , 正则

本文分享了一道微软ASP.NET团队面试题,要求设计并实现一个简单的正则表达式解析器,支持常量查找及数字匹配功能。面试者需在30分钟内完成C#代码实现。

这个面试题是 朋友面试美国微软asp.net team的时候第一面的问题,一般来说第一面都会比较简单.....

1. 对方通过邮件和livemeeting 把题目发给你

2. 这个题目要求提供最终代码(C#)

3. 限制时间30分钟, 包括阅读文档和提交代码的时间..(其实是一个小时2个题目啦..不过另外一个和这个差不多困难,另外这个文档真是相当的长...说的很清楚)

4. 该最终代码必须可以编译,运行,并实现以下的业务功能

业务功能:

设计一个正则表达式解析器支持:

  常量查找 例如表达式是abc  就匹配abc , a就匹配a  ,长度无限制

  \d  匹配一个数字

  \d+

  转义 \\ \\d 之类的

传入的正则表达式可能类似  dafdfa\dfa\dd\d+++ddfga434 

想起来是很简单...但是时间只有半个小时....做起来就悲剧了

我自己试了一下,在没有准备的情况下,差不多用了40-50分钟才能完成一个有bug的版本......在实现程序的时候才发现要考虑的东西真是多啊

对方提供的方法签名如下

 bool Test( char []  input, char[] regex)

{
  //这里是你的代码

}

返回true 代表匹配

返回false代表不匹配

PS:我自己现在对一些基本的东西非常不敏感...例如怎么把char[] 转成 string, 还有指针和index的 可能是太久没动这些东西了....

转载于:https://www.cnblogs.com/PurpleTide/archive/2011/03/23/1992183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值