Dilema, ci ist na pohovor

Programovacie jazyky, rady, poradňa...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa audiotrack »

Runes napísal:ako teraz budem za debila ale ja robim programatora :D a ani netusim co singlton je a ani tie dalsie divne veci :D a to mi sem chodia programatori a ja ich ucim a opravujem kody po nich :D vysiel som strojarinu na jednom pohovore som sa zapacil chalaniskovi nie pre vedomosti ale pre pristup k praci, zobral ma, uz je tomu daky piatok veselo si tu kodim a teoriu vobec neovladam :D no terminy stiham zakaznici sa nestazuju tak je vsetko ok
a v čom programuješ? Na toto som trošku narážal tým že nie je programátor ako programátor. Keďže som z priemyslovky a tiež zameranie na strojarinu, tak kopec mojich kamarátov sa rozliezlo kade tade a mnohí z nich programujú CNC stroje. To je úplne iná kategoria ako webdevelopment. A tých kategorii je plno

singleton je návrhový vzor, ktorý vychádza z prepoužívania inštancie namiesto vytvárania vždy novej. Tak v skratke. Je to jeden z tých troch najpoužívanejších v praxy
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa harrison314 »

BX napísal:Tak si možno v zlých firmách a chcelo by to ísť do nejakej fakt prestížnej, veľkej, zaujímavej firmy Tam je väčšinou ten nábor aspoň niečím iný.

Btw. keď už si taký pohovorovo-sčítaný, dostával si aj ty také divné otázky, ako napr
"Ako by ste vysvetlili rekurziu 6 ročnému dieťaťu?"
"Odhadnite, koľko váži tento dom"
"Odhadnite, koľko je v Prahe automechanikov"

Tu vo väčších firmách sú celkom bežné a aspoň trochu oživia pohovor (resp. rozmýšľam nad nimi ešte deň po )
Slo vetcinou o male a stredne firmi 20-200 zamestnancov, s toho som mal dva odlisne, no obe boli skor do hlbky technickych detailov .NET-u, zlozitosti roznych algorimov, datovych struktur, nejake hladanie palindromu, alebo efketivne riesnie malich metod, no hentake veci nie.
Hlasim sa na backend developera, takze odomna sa skor ocakava znalost navrhovych vzorov, IoC, SOLID, ....
audiotrack napísal:neviem, nad tým by som premýšlal keby mám reálne taký pohovor s niekym absolvovať. A dosť by pri tvorení otázok záležalo na akú pozíciu. Lebo nie je programátor ako programátor. Tá úloha čo dal BX je celkom zaujímava, ja by som ju možno ešte upravil tak, že by som ti definoval jazyk v ktorom ju spravil. Nejaký vymyslený s nejakou vymyslenou sadou príkazov. Napríklad by som v tom mojom jazyku nedovolil porovnávanie dvoch čísel. Bolo by zaujímave sledovať ako sa potom popasujú s tou časťou "okrem čísla, ktoré je na zodpovedajúcom indexe v množine N". No a samozrejme tú zložitosť by som vynechal
Mne sa zda, ze tym by si tu ulohu extremne zjednoduchsil. Ale napad s vlastnou definiciou jazyka sa mi paci.
audiotrack napísal:singleton je návrhový vzor, ktorý vychádza z prepoužívania inštancie namiesto vytvárania vždy novej. Tak v skratke. Je to jeden z tých troch najpoužívanejších v praxy
Asi zelezi, co robis, lebo ja som Singlton od skoly nevidel :D
Pouzivam viac menej Factory na Factory, s tym, ze moze byt interne implementovana podobne ako singlton (v aplikacii existuje len jedina instancia objektu, ktora je vracana factory), a na pristup k resousom zas pouzivam staticke typove wrapre. Ale s pravim nefalsovanym singltonom som sa v praxi este nestretol.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa audiotrack »

harrison314 napísal: Mne sa zda, ze tym by si tu ulohu extremne zjednoduchsil. Ale napad s vlastnou definiciou jazyka sa mi paci.
hej, som to nedomyslel :D Tak ešte pridám obmedzenie že nevieme priamo pristupovať na n-ty prvok množiny
Runes
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4832
Registrovaný: 09 aug 2006, 13:03
Bydlisko: Bratislava - Tatoine
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa Runes »

audiotrack napísal: a v čom programuješ? Na toto som trošku narážal tým že nie je programátor ako programátor. Keďže som z priemyslovky a tiež zameranie na strojarinu, tak kopec mojich kamarátov sa rozliezlo kade tade a mnohí z nich programujú CNC stroje. To je úplne iná kategoria ako webdevelopment. A tých kategorii je plno

singleton je návrhový vzor, ktorý vychádza z prepoužívania inštancie namiesto vytvárania vždy novej. Tak v skratke. Je to jeden z tých troch najpoužívanejších v praxy
vsetkom :D robim na R&D ako zaklad u nas je LabVieW ale inak VB/VBA/VBS C HTML Python .... ja uz ani neviem :D proste co pride to sa robi a kedze potrebujeme komunikovat pripadne zakaznik chce obcas somariny tak sa musime prisposobit. Vlastne viem vsetko a zaroven nic napr bol polrok ked fical jeden projekt tak som rychlo ucil VB urobil v nom projekt a viac ako rok som VB nevidel :D Aktualne zasa makam na projekte total misung kde bude spolupracovat labview C a SQL :D akurat robim komunikaciu LW-PgSQL cez dotnet :D
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa Fabo »

No tak to urcite nie je "vsetko" :D napriklad mi tam uplne chyba nejaky vyrazne objektovy jazyk ako napr. Java, pripande C#.. tam by si sa IMHO so singletonom stretol vcelku rychlo.
rochedo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 5328
Registrovaný: 08 okt 2005, 22:17
Bydlisko: KE

Re: Dilema, ci ist na pohovor

Príspevok od používateľa rochedo »

Runes napísal: vsetkom :D robim na R&D ako zaklad u nas je LabVieW ale inak VB/VBA/VBS C HTML Python .... ja uz ani neviem :D proste co pride to sa robi a kedze potrebujeme komunikovat pripadne zakaznik chce obcas somariny tak sa musime prisposobit. Vlastne viem vsetko a zaroven nic napr bol polrok ked fical jeden projekt tak som rychlo ucil VB urobil v nom projekt a viac ako rok som VB nevidel :D Aktualne zasa makam na projekte total misung kde bude spolupracovat labview C a SQL :D akurat robim komunikaciu LW-PgSQL cez dotnet :D
HTML povazujes za programovaci jazyk ?
Runes
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4832
Registrovaný: 09 aug 2006, 13:03
Bydlisko: Bratislava - Tatoine
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa Runes »

rochedo si potreboval prispiet ci co ? ako ked uz tu ces robit ramena co je to HTML ked nie programovanie webu ? :D tym prispevkom som napisal ze proste robi sa tu kade s cim a ked zajtra dojde dakto ze ce daco v jave tak proste budeme to muset dako zbuchnut v jave :D proste bez toho aby som poznal tieto divne slova daco tvorim. A vlasne slo mi len o to ze cele pohovory na programatora su na tri veci. mam tu 2 novych jedneho este prijal kolega nez siel prec a ten siel cez testy daval mu dake ulohy a tak a v principe je z nas najnizsie. Ja som prijal asi mesiac dozadu chalana len na zaklade rozhovoru a az sa desim lebo je tu mesiac aj z cestou pricom skolu koncil pred rokom a vie aj co google nevie :D a to studoval ekonomiu. Daco rieism kukne mi cez rameno a povie sak hen tu mas chybu a taketo veci mi robi :D
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa audiotrack »

harrison314 napísal:... pouzivam staticke typove wrapre. Ale s pravim nefalsovanym singltonom som sa v praxi este nestretol.
neviem presne čo si pod týmto predstaviť, ale ak to čo si predstavujem tak to nie je moc šťastné riešenie a fakt tu radšej ten singleton použiť. Inak zahlcuješ pamäť resourcami, ktoré možno vôbec nepotrebuješ
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa harrison314 »

audiotrack napísal:neviem presne čo si pod týmto predstaviť, ale ak to čo si predstavujem tak to nie je moc šťastné riešenie a fakt tu radšej ten singleton použiť. Inak zahlcuješ pamäť resourcami, ktoré možno vôbec nepotrebuješ
Tu mas anonymizovany priklad. Je to standardny postup napriklad vo WPF.
Tak isto bude existovat iba jedna instancia ResourceManager v aplikacii. A v ASP.NET (MVC) mas staticke instancie per server, nie per response ako v PHP.

Kód: Vybrať všetko

//<summary>
	/// Resource strings class MainMenuStrings
	///</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute]
    public partial class MainMenuStrings 
	{
          private static global::System.Resources.ResourceManager ResourceManager = new global::System.Resources.ResourceManager("harrison314.Resources.StringsTranslations", typeof(StringsTranslations).Assembly);
          private static global::System.Globalization.CultureInfo Culture = System.Threading.Thread.CurrentThread.CurrentCulture;

 		  /// <summary>
		  ///  String simmilary 'Kartotéka'
		  /// </summary>
		  public static string CardIndex
          {
              get
              {
                  return ResourceManager.GetString("MainMenuStringskCardIndex", Culture);
              }
          }
		 
       		  /// <summary>
		  ///  String simmilary 'Customer'
		  /// </summary>
		  public static string Customer
          {
              get
              {
                  return ResourceManager.GetString("MainMenuStringskCustomer", Culture);
              }
          }
....
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Dilema, ci ist na pohovor

Príspevok od používateľa manager666 »

harrison:
Ak sa hlasis na junior server-side developera, tak je uplne normalne, ze sa na pohovore spytaju na singleton. Ja sa pytam vzdy obecne na zakladne navrhove vzory, staci vymenovat a potom sa spytam na nejaky konkretny. Ak clovek povie, ze navrhove vzory nejak extra nepouziva, tak sa spytam na spominany Singleton. Typicky sa este spytam na nejaky oblubeny navrhovy vzor. Cielom je zistit uroven technologickeho povedomia z oblasti spravneho navrhu SW a odhadnut potencialnu kvalitu kodu. Na pohovore nie si nicim viazany. Ked sa ta spytaju na singleton, kludne ho zadefinuj a spomen vsetky navrhove vzory, ktore poznas a stoja za zmienku.

Ak si singleton od skoncenia skoly nevidel, tak si toho veru vela nenaprogramoval. Skor by som to tipol tak, ze ho pouzivas bez toho, aby si si to plne uvedomoval. Singleton je mozne dosiahnut mnohymi sposobmi, na pohovore staci povedat jeden (a odporucam spomenut ten najefektivnejsi a thread-safe).

obecne k pohovorom:
Vcelku pravidelne sa zucastnujem pohovorov, najma pre server-side vyvoj a vyvoj desktopovych aplikacii, a sem-tam i pre webovy vyvoj. Zvycajne som ako oponent alebo technologicky expert pre danu oblast.
Kedysi som bol prekvapeny, ked k nam prisiel na pohovor clovek s niekolkorocnou praxou a nepoznal zakladne navrhove vzory. Dnes ma uz take nieco vobec neprekvapi. Je vela vyvojarov, ktori si programuju svoje, su zamerani na velmi specificku oblast vyvoja a staci im to.
Mensie firmy obecne hladaju ludi, ktori maju siroky zaber vedomosti na obstojnej urovni (napr. od server-side biznis logiky smerom dolu k DAL).
Co sa tyka otazok na pohovore, nejake zlozite logicke ulohy su urcite fajn, ale myslim si, ze velky doraz je dobre klast na znalosti konkretnych technologii + SW inzinierstva. Je pravda, ze vysokointeligentny clovek nebude mat problem zadanie pretransformovat do hotoveho riesenia bez ohladu na progr. jazyk alebo technologiu, avsak expertna znalost konkretnej technologie je nezanedbatelne plus, ktore povedie ku kvalitnemu rieseniu a za kratky cas.

Uvediem priklad k vyvoju ako takemu:
Je super, ked mi niekto vie zadefinovat gramatiku pre syntakticku analyzu jednoducheho jazyka alebo vyriesit logicku hadanku bez mihnutia oka.
Avsak, co skutocny vyvojar v praxi robi je to, ze premietne zadanie od zakaznika (use case) do funkcneho riesenia. A prave pri tejto inzinierskej cinnosti je priam ziaduce, aby riesenie bolo nielen efektivne, to beriem ako samozrejmost, ale aby bolo lahko rozsiritelne, testovatelne a korektne. A takych schopnych ludi, ktori dokazu pisat nielen efektivny, ale aj kvalitny kod, je uz pomenej. A ako takych ludi na pohovore odhalit? Tym, ze sa ich spytam na algoritmus pre palindrom asi nie...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa harrison314 »

manager666 napísal:Ak sa hlasis na junior server-side developera, tak je uplne normalne, ze sa na pohovore spytaju na singleton. Ja sa pytam vzdy obecne na zakladne navrhove vzory, staci vymenovat a potom sa spytam na nejaky konkretny. Ak clovek povie, ze navrhove vzory nejak extra nepouziva, tak sa spytam na spominany Singleton. Typicky sa este spytam na nejaky oblubeny navrhovy vzor. Cielom je zistit uroven technologickeho povedomia z oblasti spravneho navrhu SW a odhadnut potencialnu kvalitu kodu. Na pohovore nie si nicim viazany. Ked sa ta spytaju na singleton, kludne ho zadefinuj a spomen vsetky navrhove vzory, ktore poznas a stoja za zmienku.
Spytat sa mozu, ale preco nie na hociktory iny navrhovy, architeltonicky albo datovy vzor? Ako keby ich nebolo dost.
manager666 napísal: Ak si singleton od skoncenia skoly nevidel, tak si toho veru vela nenaprogramoval. Skor by som to tipol tak, ze ho pouzivas bez toho, aby si si to plne uvedomoval. Singleton je mozne dosiahnut mnohymi sposobmi, na pohovore staci povedat jeden (a odporucam spomenut ten najefektivnejsi a thread-safe).
Iba 8 hodin denne :D Nielekdy aj viac.
Ako som spominal vyssie, pouzivam obdobne veci. No singlton ako taky, nepovazujem za statsny vzor:
1, miesa infrastukturny kod s aplikacnym (comu sa niekedy vyhnut neda).
2, ak ide o klasicky singlton, nieje ho mozne konfigurovat
3, drzi zdroje do vypnutia aplikacie
manager666 napísal:A ako takych ludi na pohovore odhalit? Tym, ze sa ich spytam na algoritmus pre palindrom asi nie...
Ved o tom hovorim...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa audiotrack »

harrison314 napísal:2, ak ide o klasicky singlton, nieje ho mozne konfigurovat
A čo chceš konfigurovať na vrátení inštancie? Ak je viacero "variant" tej triedy a potrebuješ konfigurovať ktorú jej konfiguráciu chceš, tak je to zlý návrh a mali by to byť samostatné triedy ktoré majú spoločného predka a implementujú interface Singleton aby bola zaručená existencia metody getInstance (alebo ako si ju pomenuješ). Singleton ale nemáš používať na entitné triedy (lebo pri ich používaní nemáš zaručené že majú také dáta ako požaduješ, pretože ich hocikto mohol hocikde zmeniť) ale na funkčné triedy (komponenty, helpery..)
harrison314 napísal:3, drzi zdroje do vypnutia aplikacie
toto vôbec nie je problém. Rovnako tak aj tvoje globálne resource. Niekedy je lepšie držať resource v pamäti aj keď ho aktuálne netreba ako volať 10x časovo a pamäťovo náročný konštruktor. Robil som na projekte dataminingu, kde keby nemôžem použiť singleton (ani žiadne jeho akože varianty s použitím globálne či statickej premennej) tak by som musel volať konštruktor cca 5000x za sekundu (taký prietok dát tam približne máme). Ak by sa nepoužil singleton ale vytvárala inštancia vždy, dosiahli by sme maximum (podla benchmarku) 4000 za sekundu. Takto máme maximumom okolo 15000 za sekundu. To len na demonštráciu toho, že to, že ho ty nepoužívaš nie je preto že je zlý, ale preto, že ho nevieš alebo nechceš používať
harrison314 napísal:Iba 8 hodin denne :D Nielekdy aj viac.
to je úplne jedno koľko. On myslel kvalitatívne. Dovolím si tvrdiť, že ja mám tých 8 a viac hodinoviek odprogramovaných podstatne viac ako ty (už len z toho súdim že si ešte študoval keď ja som už pracoval) a stále si nedovolím o sebe tvrdiť že som dobrý programátor
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Dilema, ci ist na pohovor

Príspevok od používateľa harrison314 »

audiotrack napísal:A čo chceš konfigurovať na vrátení inštancie? Ak je viacero "variant" tej triedy a potrebuješ konfigurovať ktorú jej konfiguráciu chceš, tak je to zlý návrh a mali by to byť samostatné triedy ktoré majú spoločného predka a implementujú interface Singleton aby bola zaručená existencia metody getInstance (alebo ako si ju pomenuješ). Singleton ale nemáš používať na entitné triedy (lebo pri ich používaní nemáš zaručené že majú také dáta ako požaduješ, pretože ich hocikto mohol hocikde zmeniť) ale na funkčné triedy (komponenty, helpery..)
Ale to potom nie je singltobn, ale Factory method.
Komponentny cez Singlton radcej nie. To smrdi zlym navrhom.
audiotrack napísal:toto vôbec nie je problém. Rovnako tak aj tvoje globálne resource. Niekedy je lepšie držať resource v pamäti aj keď ho aktuálne netreba ako volať 10x časovo a pamäťovo náročný konštruktor. Robil som na projekte dataminingu, kde keby nemôžem použiť singleton (ani žiadne jeho akože varianty s použitím globálne či statickej premennej) tak by som musel volať konštruktor cca 5000x za sekundu (taký prietok dát tam približne máme). Ak by sa nepoužil singleton ale vytvárala inštancia vždy, dosiahli by sme maximum (podla benchmarku) 4000 za sekundu. Takto máme maximumom okolo 15000 za sekundu. To len na demonštráciu toho, že to, že ho ty nepoužívaš nie je preto že je zlý, ale preto, že ho nevieš alebo nechceš používať
Ako kedy.
Ja som nikde nepovedal, ze Singltom je zly vzdy a vsade, ani som netvrdil, ze ho nepouzivam, len ze ho nepouzivam v tej klasickej podobe.
Preco mam taky nazor je dost dobre vystlene tu http://www.wug.cz/zaznamy/125-MS-Fest-2 ... ho-nadseni
audiotrack napísal:to je úplne jedno koľko. On myslel kvalitatívne. Dovolím si tvrdiť, že ja mám tých 8 a viac hodinoviek odprogramovaných podstatne viac ako ty (už len z toho súdim že si ešte študoval keď ja som už pracoval) a stále si nedovolím o sebe tvrdiť že som dobrý programátor
To ani ja, mam sa este co ucit.

Inak moja povodna narazka na Singltom nebola, na to, ze je zly, alebo o mojom citovom vztahu k nemu. Ale o tom, ze HR ludia nevedia vymsliet nic ine. A je nesmirne otravne ho zakazdym implementovat na papier.

//autoeditácia príspevku (17 Aug 2015, 12:05)
Drahy karmista, nabuduce nebud lenivy a aspon napis, preco si mi udelil K-, a ak je to pre to, ze so mnou nesuhlasis skus radcej argumentovat.
Napísať odpoveď