zkouška v klasickém duchu, na 2 hodiny přípravy to nebylo dneska tak hrozný :)
otazky nebudu psat v presnem poradi, bo to si nepamatuju :D
otázky
1.
otazka: jaký dá výsledek následující: (1024 | 6 ) & (~3)
odpoved: 1028 (dale byly moznosti 1024,1029 a blablabla ... )
2.
otazka: U[ ] - jaka je velikost?
odpoved: Zavisi na platforme... Proc?: Protoze U[] je typu reference, konkretne reference na pole a velikost reference zavisi na OS a .NETu (typicky 32/64-bit)
THX Santhos...
3. (za 2 body)
otazka: cilem bylo napsat nejaky muttable a imuttable type a popsat 2 vyhody
odpoved: SLIDY
4.
otazka: mate zadanu tridu Tree a cilem je doimplementovat pridani prvku do stroma..... hebudu rozebirat, je to tu uz nekolikrat
odpoved: viz. http://forum.matfyz.info/viewtopic.php?f=421&t=5004 - [zk] 4.2
5.
otazka: co vsechno muze interface naridit tride aby implementovala (private static metodu, protected static metodu, public static metodu, properties, [])
odpoved: properties, []
6.
otazka:struct S {...} ... List<S> list = new List<S>(); list.Add(new S()); list[0].x = 20; // nejde prelozit, struct je hodnotovy typ -> list[0] je jen navratova hodnota na stacku ...
neni to uplne to samy, ale princip u toho byl stejnej
odpoved: viz. kod
EDIT: tak prej to bylo trochu jinak, tak snad to někdo doplní - byl tam jinej kód a jiná odpověď
7.
otazka:
ukazka Avar x = "Hello"; Console.WriteLine(x.ToString());ukazka B
System.Object x = "Hello"; Console.WriteLine(x.ToString());otazkama bylo, zaskrtnout spravna tvrzeni z moznosti(opravte me pokud pisu blbosti)
a) A nejde prelozit
b) B nejde prelozit
c) A i B jde prelozit a A je jen zkratkou za B
d) A i B jde prelozit ale A dela neco jineho, nez B
**EDIT: odpoved: zkousim to na dotnet2.0 a tam nic ale na 3.5 to prej jde a platí d) **
8.
otazka: Urcit referencni typySystem.String string S? List<S> System.Int64odpoved: System.String, string, List<S>
EDIT: doplněna celá otázka
dalsi si nevzpomenu :D
9.
otazka:class Plus { public static void AddPlus() { Prg.AddOp("+",1); } } class Divide { public static void AddDivide() { Prg.AddOp("/",2); } } class Prg { static Dictionary<string, int> d=new Dictionary<string, int>(); public static void AddOp(string s, int i) { d.Add(s,i); } static void Main() { //uz nevim, zda byla metoda Main psana s parametrama nebo bez, pro ulohu neni podstatne Console.WriteLine(string.Format("{0},{1}",d["+"],d["-"])); } }odpoved:
a) nezkompiluje se
b) 1,2
c) , (tedy pouze znak carka)
d) runtime error1,0
odpovedi je asi runtime error...
EDIT: 9.2.2009 12:32
EDIT: 9.2.2009 18:25