I was given this test before in one of my Job Interviews will not name the company. I'll show you how I tackled the problem. "Given an arbitrary text document written in English, write a program that will generate a concordance, i.e. an alphabetical list of all word occurrences, labeled with word frequencies. Bonus: label each word with the sentence numbers in which each occurrence appeared." For example, this is a concordance of the above text: a. a {2:1,1} b. all {1:1} c. alphabetical {1:1} d. an {2:1,1} e. appeared {1:2} f. arbitrary {1:1} g. bonus {1:2} h. concordance {1:1} i. document {1:1} j. each {1:2} k. english {1:1} l. frequencies {1:1} m. generate {1:1} n. given {1:1} o. i.e. {1:1} p. in {2:1,2} q. it {1:2} r. label ...
As a developer we normally maintain our own framework, our own abstraction of things, be it database wrappers, our own implementations of persistence managers, in some cases we figure out a better way or new way of doing things so we decide to include it in the framework, how do we now tell other developers to use this instead of the old one? The answer is the Obsolete Attribute. 1 2 3 4 5 6 7 8 9 [Obsolete("ExpandoObject.CreateObject is deprecated, please use NameValueCollection.CreateObject instead.", true)] public static void CreateObject ( this ExpandoObject that, NameValueCollection querystring) { querystring.AllKeys.ToList().ForEach(x => { if (!that.ToDictionary(y => y.Key).ContainsKey(x)) ((IDictionary< string , object >)that)[x] = querystring[x]; }); } We simply add this attribute on top of the method or class and specify our message. BTW, the Boolean parameter if set to True, will throw and exceptio...
Comments