這個面試題是 朋友面試美國微軟asp.net team的時候第一面的問題,一般來說第一面都會比較簡單.....
1. 對方通過郵件和livemeeting 把題目發給你
2. 這個題目要求提供最終代碼(C#)
3. 限制時間30分鐘, 包括閱讀文檔和提交代碼的時間..(其實是一個小時2個題目啦..不過另外一個和這個差不多困難,另外這個文檔真是相當的長...說的很清楚)
4. 該最終代碼必須可以編譯,運行,並實現以下的業務功能
業務功能:
設計一個Regex解析器支援:
常量尋找 例如運算式是abc 就匹配abc , a就匹配a ,長度無限制
\d 匹配一個數字
\d+
轉義 \\ \\d 之類的
傳入的Regex可能類似 dafdfa\dfa\dd\d+++ddfga434
想起來是很簡單...但是時間只有半個小時....做起來就悲劇了
我自己試了一下,在沒有準備的情況下,差不多用了40-50分鐘才能完成一個有bug的版本......在實現程式的時候才發現要考慮的東西真是多啊
對方提供的方法簽名如下
bool Test( char [] input, char[] regex)
{
//這裡是你的代碼
}
返回true 代表匹配
返回false代表不匹配
PS:我自己現在對一些基本的東西非常不敏感...例如怎麼把char[] 轉成 string, 還有指標和index的 可能是太久沒動這些東西了....
1. 對方通過郵件和livemeeting 把題目發給你
2. 這個題目要求提供最終代碼(C#)
3. 限制時間30分鐘, 包括閱讀文檔和提交代碼的時間..(其實是一個小時2個題目啦..不過另外一個和這個差不多困難,另外這個文檔真是相當的長...說的很清楚)
4. 該最終代碼必須可以編譯,運行,並實現以下的業務功能
業務功能:
設計一個Regex解析器支援:
常量尋找 例如運算式是abc 就匹配abc , a就匹配a ,長度無限制
\d 匹配一個數字
\d+
轉義 \\ \\d 之類的
傳入的Regex可能類似 dafdfa\dfa\dd\d+++ddfga434
想起來是很簡單...但是時間只有半個小時....做起來就悲劇了
我自己試了一下,在沒有準備的情況下,差不多用了40-50分鐘才能完成一個有bug的版本......在實現程式的時候才發現要考慮的東西真是多啊
對方提供的方法簽名如下
bool Test( char [] input, char[] regex)
{
//這裡是你的代碼
}
返回true 代表匹配
返回false代表不匹配
PS:我自己現在對一些基本的東西非常不敏感...例如怎麼把char[] 轉成 string, 還有指標和index的 可能是太久沒動這些東西了....