Daniel Łysiak

Daniel Łysiak Specjalista w
sprawach
audiowizualnych

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Krzysztof Kondrak:
użyje wartości a, potem b.... ale to jest odpowiedź podporządkowana pod konkretny kompilator, którego programiści przyjęli taką konwencję. "Jedyna słuszna" odpowiedź to właśnie taka, że standard nie definiuje kolejności....


Ufff - już się zacząłem zastanawiać jak to jest w 64 bitowych kodach (64 bitowy procesor ma więcej rejestrów i z dokumentacji o stdcall wyczytałem, że są one wykorzystywane i co z tego wynika dzięki temu znacznie mniej cykli procesora takie zawołanie funkcji wymaga i tym samym niektóre programy zawierające dużo wywołań funkcji znacznie szybciej działają).
Ale odnośnie pytania, czy można w tym przypadku mówić "liczenie argumentów" czy "przekazywanie argumentów do ciała funkcji"? Chyba, że chodzi o coś takiego:

wynik = funkcja( ( x + y ), ( a * a ) );

i czy najpierw zostanie policzone x + y a potem a*a (w sumie to może być ważne jeśli wołamy "funkcja( funkcja1(), funkcja2() ... );" )
?

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Daniel Ł.:
>
Ale odnośnie pytania, czy można w tym przypadku mówić "liczenie argumentów" czy "przekazywanie argumentów do ciała funkcji"? Chyba, że chodzi o coś takiego:

wynik = funkcja( ( x + y ), ( a * a ) );

i czy najpierw zostanie policzone x + y a potem a*a (w sumie to może być ważne jeśli wołamy "funkcja( funkcja1(), funkcja2() ... );" )
?

To właśnie jest istota mojego pytania, przytoczył to Jakub powyżej.

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Jakub L.:
>

Słyszałem też o teście Voida-Kampfa: czy skompiluje się
void a;

Uzasadnienie nazwy było miłe: bo void jest w teście, a dla niektórych jest to straszny der Kampf.

Nawet mi się to pytanie podoba. :)
A tutaj jest ostateczne pogrzebanie idei trudnych pytań: http://www.codinghorror.com/blog/2007/02/why-cant-prog...

Ten artykuł przedstawia opinię, z którą sam niejednokrotnie się spotkałem. Kiedyś czytałem wypowiedź jednego z bardzo doświadczonych programistów, że przez 20 lat pracowania w zawodzie i okresowym jego jednym jedynym pytaniem podczas rozmowy było:

Czy wg Ciebie programowanie obiektowe można zrealizować w każdym języku programowania?

Jeśli wierzyć temu co pisał, przez te 20 lat tylko garstka rekrutowanych osób była w stanie na to pytanie odpowiedzieć.
Jakub L.

Jakub L. Programista

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Krzysztof Kondrak:
++i++
Aż musiałem sprawdzić, na dwoje babka wróżyła ale oba kierunki wiązań przewidziałem poprawnie, nie wiedziałem tylko który jest obowiązujący w kompilatorze.

No i co Ci wyszło? Bo VC++ się tutaj buntuje (choć komunikat błędu o wymaganym l-value wynika mimo wszystko z innego problemu, który ten zapis wprowadza). Ja generalnie tego typu pytania bym był skłonny zostawić na jakąś przyjazną pogawędkę z kandydatem, ale już PO procesie rekrutacji.

Rozmowa kwalifikacyjna powinna być przyjazna, najlepiej mi szły te, na których byłem wyluzowany a nie spięty, całkiem fajny problem na zobaczenie jak myśli kandydat do pracy, czy porafi stawiać hipotezy i je weryfikować.
g++ też się zbuntował na l-value i tak samo się zbuntował na ++i++ i ++(i++), czyli postfiksowy ++ nie zwraca l-value.
Daniel Łysiak

Daniel Łysiak Specjalista w
sprawach
audiowizualnych

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Znalazłem coś takiego:

"W konwencji C parametry przesyłane są w odwrotnej kolejności. Np. wywołanie funkcji C:

calc(a,b)

składuje na stosie najpierw parametr b, a potem dopiero a. "

Aby to sprawdzić wystarczy uruchomiłem coś takiego:

void funkcja( int a, int b )
{
cout << "funkcja";
}

int jeden ()
{
cout << "jeden";
}

int dwa ()
{
cout << "dwa";
}

...(ciało main'a)
funkcja( jeden(), dwa() );
...

wynik: dwajedenfunkcja

nawet teraz człowiek się uczy ;)Daniel Ł. edytował(a) ten post dnia 07.05.10 o godzinie 14:28

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Powiedziane już wyżej zostało, powtórzę:

Z punktu widzenia standardu kolejność ewaluacji argumentów NIE jest określona.
Maciej Hehl

Maciej Hehl w teorii Automatyk i
Robotyk (po wydziale
mechanicznym), ...

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

A no właśnie.

Ewaluacja wyrażeń a odkładanie ich wartości na stos to 2 sprawy. Ale pytanie Można by zadać inaczej. Czy wie pan/pani co to są Sequence points.Maciej Hehl edytował(a) ten post dnia 07.05.10 o godzinie 15:52
Maciej W.

Maciej W. *nix admin

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Wy jakieś niskopoziomowe podejście macie. :)
Ja tam bym na zapytał na przykład: Jak byś zaimplementował(a) zamalowany, a jak pusty romb z diagramu UML? :)

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Niskopoziomowe pytanie - większe prawdopodobieństwo, że kandydat nie będzie lał wody - albo zna odpowiedź albo nie :)
Jerzy M.

Jerzy M. C#/JavaScript
Developer

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Maciej W.:
Wy jakieś niskopoziomowe podejście macie. :)
Ja tam bym na zapytał na przykład: Jak byś zaimplementował(a) zamalowany, a jak pusty romb z diagramu UML? :)

Hmm... aż się boję, że tylko oczami bym zamrugał, a że nie jestem atrakcyjną panną (co zresztą widać) to raczej by to nic nie dało :D

Ale że teraz mam trochę czasu, to o, takie cosik: http://ideone.com/DNiEr

Nie musicie mówić, że trochę przedobrzyłem ;-)
wzorzec dekorator.
Adam Michalski:

Takie teoretyczne w sumie też są dobre, kiedyś czytałem ( no poczytać sobie o rozmowach chociaż mogę :D ), że kiedy rekrutej zadaje pytanie tego typu, chce sprawdzić jak kandydat sobie radzi z nietypowymi pytaniami, tak jak np. pytanie ponoć na rozmowie kwalifikacyjnej z Google. :

"Masz osiem piłek o tym samym rozmiarze. Siedem z nich jest tej samej wagi, a jedna z nich jest nieco lżejsza. Jak możesz znaleźć tę piłkę, która jest nieco lżejsza od reszty, używając tylko dwóch pomiarów?"Jerzy M. edytował(a) ten post dnia 07.05.10 o godzinie 16:33
Maciej Hehl

Maciej Hehl w teorii Automatyk i
Robotyk (po wydziale
mechanicznym), ...

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Mam dziwne wrażenie, że te virtualne destruktory są definiowane coś jakby wysoko w hierarchii :).

Jeśli wskaźnik ma wartość NULL to można spokojnie używać delete. Nie jest konieczne sprawdzanie wskaźnika. Ale to chyba drobnostka.

Wirtualny destruktor jest po to, żeby można było bezpiecznie usuwać obiekty klas pochodnych posługując się wskaźnikiem do klasy bazowej. Jeśli klasa bazowa nie ma wirtualnego destruktora to ten mechanizm nie zadziała.


Figura *romb = new Romb(new Figura());
...
delete romb;
// tutaj powinien być wywołany destruktor klasy Romb. Ale wskaźnik
// jest typu Figura*. Kompilator wywoła romb->~Figura(). To
// destruktor ~Figura() musi być wirtualny żeby to wywołanie
// prowadziło do wykonania destruktora ~Romb()
Maciej Hehl edytował(a) ten post dnia 07.05.10 o godzinie 16:49

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Jerzy M.:
Takie teoretyczne w sumie też są dobre, kiedyś czytałem ( no poczytać sobie o rozmowach chociaż mogę :D ), że kiedy rekrutej zadaje pytanie tego typu, chce sprawdzić jak kandydat sobie radzi z nietypowymi pytaniami, tak jak np. pytanie ponoć na rozmowie kwalifikacyjnej z Google. :

"Masz osiem piłek o tym samym rozmiarze. Siedem z nich jest tej samej wagi, a jedna z nich jest nieco lżejsza. Jak możesz znaleźć tę piłkę, która jest nieco lżejsza od reszty, używając tylko dwóch pomiarów?"

No to są zagadki na myślenie. Bardzo często takie rzeczy dają na rozmowach rekrutacyjnych. I dobrze :)

Polecam wersję ciut trudniejszą, jak uporacie się z tą. Kul jest 12, jedna jest ciut lżejsza od pozostałych. Wagę mamy dokładną. Musimy znaleźć tę lżejszą w trzech ważeniach. Da się. Tylko nie szukajcie w necie, bo to znana zagadka jest - łatwo znaleźć rozwiązanie na sieci.Adam Michalski edytował(a) ten post dnia 07.05.10 o godzinie 16:41

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Adam Michalski:
Polecam wersję ciut trudniejszą, jak uporacie się z tą. Kul jest 12, jedna jest ciut lżejsza od pozostałych. Wagę mamy dokładną. Musimy znaleźć tę lżejszą w trzech ważeniach. Da się. Tylko nie szukajcie w necie, bo to znana zagadka jest - łatwo znaleźć rozwiązanie na sieci.Adam Michalski edytował(a) ten post dnia 07.05.10 o godzinie 16:41

I właśnie dlatego zadawanie tego typu pytań nie ma już sensu - bo znaczna większość odpowiedzi jest już w necie.
Jan Sobkowiak

Jan Sobkowiak Fizyk, Software
Engineer, GTECH

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Ja miałem kiedyś podczas rozmowy napisać algorytm sprawdzający czy zadane słowa są anagramami.
Jerzy M.

Jerzy M. C#/JavaScript
Developer

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Adam Michalski:
Polecam wersję ciut trudniejszą, jak uporacie się z tą. Kul jest 12, jedna jest ciut lżejsza od pozostałych. Wagę mamy dokładną. Musimy znaleźć tę lżejszą w trzech ważeniach. Da się. Tylko nie szukajcie w necie, bo to znana zagadka jest - łatwo znaleźć rozwiązanie na sieci.

Co do szukania w sieci, mniej więcej 3 osoby trafiły mi tak na bloga z google - odnośnie pytania z kulkami ;-)

a co do 12stki, to faktycznie trudniejsze, jeszcze sobie kminie :-)

@Krzysztof: a spodziewasz się takiego? bo głównie o to chodzi, zawsze można zmodyfikować trochę, żeby nie było dokładnie to.Jerzy M. edytował(a) ten post dnia 07.05.10 o godzinie 16:51

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Powinno się pytać z myślenia a nie z wiedzy. Wiedzę można nadrobić, nauczyć się myśleć - chyba nie... w każdym razie to znacznie trudniejsze...

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Krzysztof Kondrak:
Adam Michalski:
Polecam wersję ciut trudniejszą, jak uporacie się z tą. Kul jest 12, jedna jest ciut lżejsza od pozostałych. Wagę mamy dokładną. Musimy znaleźć tę lżejszą w trzech ważeniach. Da się. Tylko nie szukajcie w necie, bo to znana zagadka jest - łatwo znaleźć rozwiązanie na sieci.

I właśnie dlatego zadawanie tego typu pytań nie ma już sensu - bo znaczna większość odpowiedzi jest już w necie.

To jeszcze całkiem ciekawe, i można od razu odpowiedzieć jak się zna trochę algorytmy.

Ale pisanie programu na kartce czy też na komputerze przyszłego pracodawcy na czas to jakaś paranoja.Piotr Likus edytował(a) ten post dnia 07.05.10 o godzinie 16:52
Maciej Hehl

Maciej Hehl w teorii Automatyk i
Robotyk (po wydziale
mechanicznym), ...

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Jak najbardziej należy sprawdzać myślenie, ale to powinno być raczej sprawdzane podczas rozmowy.

Zostawienie kandydata tak po prostu z pytaniem z grupy tak zwanych "Acha!!!" i powrót po czasie w celu sprawdzenia czy rozwiązał ma sporo wad. Oczywiście wszystko zależy kogo się szuka. Ale sporo widzę opinii, że korelacja pomiędzy powodzeniem w takim teście a przydatnością jako programista jest taka sobie.

konto usunięte

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

No dlatego wiekszosc firm stosuje 3-miesieczny okres probny...
Jerzy M.

Jerzy M. C#/JavaScript
Developer

Temat: Przykładowe pytania na rozmowie kwalifikacyjnej

Adam Michalski:
Polecam wersję ciut trudniejszą, jak uporacie się z tą. Kul jest 12, jedna jest ciut lżejsza od pozostałych. Wagę mamy dokładną. Musimy znaleźć tę lżejszą w trzech ważeniach. Da się. Tylko nie szukajcie w necie, bo to znana zagadka jest - łatwo znaleźć rozwiązanie na sieci.

Mała poprawka, ta wersja z 12stoma kulkami jest ciut łatwiejsza raczej, bo ma dwa rozwiązania. 8 kulek ma tylko jedną, a raczej tylko tyle udało mi się znaleźć.

Następna dyskusja:

dr Bjarne Stroustrup odpowi...




Wyślij zaproszenie do