一家外包公司面试记录

今天去一家外包公司面试,也是我之前的老东家。第一个面试官考我技术的一些问题,直接现场出题(没有单独的笔试)。
第一题是问我委托和事件。什么是委托,什么是事件,两者之间的关系?
第二题是问我box和unboxing是可逆的嘛?
第三题是问我垃圾回收
第四题问题接口和抽象类,有什么共同点和区别?
第五题考我sql,从一个表中选出第五条和第十条记录。
最后是一个算法题,比如给定一个字符串,返回字符串中相邻的字符个数大于等于2的记录数,比如aaa,算1个记录,aaabb,算2个记录,
abbccaaa,算3个记录, aaabbbcccefffghhh,算5个记录.
当时第一时间考虑的使用hash表来实现,发现不是最优解法。然后考虑用stack,面试官反问了我一句,需要用stack那么复杂吗?最后只是简单的说了下思路,
然后面试官就开始谈项目相关的话题了。 最后面试通过,感觉面试官有意让我过。记得以前PM说过一句,我们面试,不是问倒他们,而是知道他们会什么。感觉面试官有故意让我过的嫌疑。


最后再加将实现的过程写下来:

using
System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static int FindDuplicateChar(String stringToBeSearch) { int count = 0; char key = stringToBeSearch[0]; int index = 0; int length = stringToBeSearch.Length; int i = 0; while (i <= length - 1) { while ((i <= length - 1) && stringToBeSearch[i] == key) { i++; index++; } if (index >= 2) { count++; } if (i <= length - 1) { key = stringToBeSearch[i]; } index = 0; } return count; } static void Main(string[] args) { string ss = "aaabbbceeddfffggaaa55566615000225"; int i = FindDuplicateChar(ss); Console.WriteLine(i); Console.Read(); } } }

 

你可能感兴趣的:(面试)