취업할때 본 가장 난해한 실기테스트?
요근래 몇주동안 취업전선에 뛰어 들었습니다.
면접도 좀 보고, 오라는 곳도 반정도 됩니다.
이곳저곳 보면서 몇군데 실기테스트(코딩)를 본 곳이 있는데...
일반적인 선입견으로 회사가 조금 있다 싶으면 문제가 조금씩 난이도(귀찮음)가 높아지더라구요.
어제도 알만한 회사의 실기테스트를 해서 이메일로 제출했는데...
여지껏 본곳중에서 가장 난해한 문제더군요. 그것도 무려 6문제나.. ( 들낀건가 ^^; )
물론 어렵다기보다 좀 귀차니즘을 자극하는 문제들이라서...ㅋㅋㅋ
개인적인 생각이지만 거기 문제 깔끔하게 다 짤수 있는 분이라면 대한민국 어디가도 신입으로써 떵떵거릴수 있을거 같았습니다.
우연히 아는 동생 군대 동기분도 거기 실기테스트를 하고 있었는데...
3번까지 하다 GG 했다고 하네요. ㅋㅋㅋ.
몇몇 회사를 밝히고 싶지만 어처구니 없는 한 여자분이 그 내용이 회사기밀이라고 해서 이름은 안밝힙니다.
문제)
1. 더블링크드 리스트를 사용할 것
2. 삽입, 삭제보다 검색이 빈번하게 이루어지니 그에 맞는 알고리즘을 작성할 것.
\> ADD 40
\> ADD 60
\> ADD 30
\> ADD 50
\> MAX
\> 60 ( 출력 )
\> MIN
\> 30 ( 출력 )
\> REMOVE 60
\> MAX
\> 50 ( 출력 )
물론 실기테스트내용이 유출되는 부분이 회사로써는 좀 그렇지만, 회사기말이라고 문제가 인쇄된 종이를 안주시더라구요. ㅋㅋㅋ. 웃고 나왔죠. 스캔해서 후배들이나 보여줄려고 했는데...
이 정도 문제가 과연 회사기밀인지.. 물론 문제보다 내용상 유포되는게 문제겠지요. 아 회사는 어려워.
기술면접 , 실기테스트 , 면접( 일반적인 광범위 면접 ) 다른 분의 경험담이 궁금하네요.
참고로 신입입니다. ^^
회사 취직한거도
회사 취직한거도 아닌데 그게 기밀이 될수있을까싶네요..
자기가 어느곳에서 시험친내용을 말하면안된다는건 여테들어본적이없네요..
그건그렇고.. 저런식의문제내면..
이미 나와있는소스도 많고.. 어디서 배껴오란소리밖에 안되는데..문제가 창의성이 너무 없는것이...신통찮음.
----------------------------------------------------------------------------
위 문제에서 삽입,
위 문제에서 삽입, 삭제보다 검색이 빈번하게 이루어질때 사용할 수 있는 알고리즘이 어떤건가요? 링크드 리스트는 순차접근을 통한 검색
만 되는줄 알았는데 값에대한 인덱스 array같은거를 하나 더 만들어야 하나요?
링크드리스트는
링크드리스트는 삽입과 삭제가 편하고 검색이 불편한점이있는데..
검색을 빈번히 할꺼면서 링크드리스트 선택한건 애초 알고리즘선택이 잘못이군요..ㅎㅎ시험감독관에게 따끔한충고를..ㅎㅎ
----------------------------------------------------------------------------
이진 트리 형태는
이진 트리 형태는 어떨까요? 이진트리는 검색이 쉽잖아요.
이진 트리는 더블링크드 리스트라는건 이미 아주 다른 걸얘기하는 건가?
제가 알고리즘 공부를 수박 겉핧기로 해서 용어는 특히 잘 모르겠네요.
삽입,삭제보다
삽입,삭제보다 검색이 많다고 했고, 예제에서 MAX와 MIN값이 있는걸로 봐선
값을 넣을때 정렬된 상태로 넣으면 되지 않을까요? 뺄때야 그냥 빼면 될테고..
----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ
----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ
링크드 리스트는
링크드 리스트는 정렬되었다하더라도 최대효과가 나지 않죠..
검색을빈번히 한다면 트리구조나 해시테이블정도로 해야...
----------------------------------------------------------------------------
b-star tree...
암만 봐도 over 같죠...-_-;;
대충 MAX, MIN 값만을 보면 되는가 싶은데...
리스트가 정렬 되어 있다면 double이니까..앞뒤로 쳐서 가져오믄 되고..
어차피 삽입 삭제야 얼마 안일어 난다고 하니...리스트로 소트해도 별문제 없을듯..
더블 링크드 리스트 정렬 알고리즘, 제일 앞 값 가지고 오는메소드, 가장 뒤에 값 가지고 오는 메소드 적어주면 될듯...
윗분 의견에 한표
음 제생각에 검색에 적합한 더블링크드 리스트는 B+tree 같은데요?
B tree는 더블링크드 리스트가 아니지만
B+Tree는 말단 노드들을 링크드 리스트로 구현한거라고 할수 있겠죠...
더블링크드리스트르 통해서 순차 탐색이 가능하고 btree 부분이용해서 직접탐색이 가능한 구조...
아마도 이걸 얘기하는듯하네요...삽입삭제 자체가 말단 인덱스들을 정렬하는...
근데 신입사원한테 이걸 구현하라고 했다구요? 이거 구현하면 대략 한 2천라인 나올걸요?
코드구루 같은데 검색하면 음 한 10초면 나옵니다...
만약 제가 신입사원이라면....구현은 않하고... 방법론만 간단하게 B+Tree 사용할것...
그리고 B+tree가 왜 그런것들이 가능한 이유를 서술하고 끝내겠습니다..
그리고 코드 작성않해온 이유는 작성은 가능하지만 이미 검증된 코드들이 많은데 공부할 이유는 아닌것 같다면서..ㅋㅋㅋ
이러면 떨어질라나...ㅋㅋㅋ
흠...
분명 B+ Tree는 상당히 좋은 대안이라고 생각됩니다만..
지금 하고자 하는 것은 웬지 MIN 이나 MAX를 뽑아내는 형태로 보아..
MIN-MAX heap을 요구하는 것 같습니다..
간단하게 들어가며 정렬이 되고.. MIN value 나 MAX value를 쉽게 얻어낼 수 있겠죠?
B+ Tree를 사용할 경우 약간 변형해서..
순차리스트 : B+ Tree = 1 : 多 로 구성하여..
필요한 경우에 따라 검색의 특성을 살릴 수 있습니다...
실제 트리에는 데이터가 없고.. 마지막 Leaf Node 즉 순차리스트에 Data가 존재하기 때문에 가능한건데요..
흠.. 아무튼.. 당장 구현하라고 하면 애좀 먹겠군요 ㅎㅎ
댓글 달기