몇 일 전에 다른회사의 코딩면접? 아니 코딩 과제를 받았어 풀은 적이 있습니다.
어떤 스타트업 회사에 이력서를 냈는데,
회사로부터 면접 전에 과제를 풀어 오라는 메일을 받았습니다. 제한 시간내에 풀어오는...
과거에 비슷한 경험이 있었는데, 당시 문제가
어떤 리스트 자료구조 자원을 여러 프로세스에서 접근하려 하는데, 어떻게 해결할 꺼냐를 묻는 문제 였는데
사실 저런 설명없이 기본 코드가 있고 접근하려 read write하는 함수 짜시오 하는 문제였습니다.
(아마 MS 였던것 같네요)
이 스타트 업 회사가 요구한 문제는...
“두 프로세스가 통신(ipc)할 수있게 해오시오 “
라는 것이었습니다. 기본 코드도 없고 그냥 알아서 짜오라는...
흠... 문제의 의도도 모르겠고, 낮에 회사를 다녀오고 퇴근한 후에 본 문제라 약간 피곤한 느낌도 있었지요.
visual code 켜두고 멍때리다가 한시간 정도 흘렀습니다.
흠.. 생으로 짜는 건가? 블럭킹 논블럭킹? 동기화 문제는?
이거 생으로 짜다가 괜히 이런저런 약점 잡히는거 아닐까?
이런저런 생각을 하다가,
boostlib에 interprocess 카테고리에 있는 shared memroy 가 생각났습니다.
이거 프레임워크로 다 잘 되어 있으니까 요거 쓰면 되겠다 하고는... 메뉴얼에 있는 코드로 뚝닥뚝닥 만들었습니다.
그리고 제출했습니다.
오늘 지원한 회사로부터 과제를 cheating 했다는 연락을 받았습니다.
제 코드를 구글링 해보니,
그 라이브러리 메뉴얼에 있는 예제코드에 대하여 stackoverflow에 올려진 질문이 검색 결과로 뜨더군요..
갑자기 오만 생각이 다 들더라고요..
그냥 우울해 졌습니다.
그냥 mman.h 불러다가 shm_open write read해서 짤껄 그랬나? 등등... 순간 내가 치팅이나 하는 무능한 사람된건가? 뭐 이런생각도 들고...
차리리 일고리즘문제나 나왔으면 잘 풀었을텐데 라는 생각도 들고...
심란한 마음에... 그냥 주저리 글을 써봅니다...
프로그래밍하는데, 이젠 늙어 요령만 피우나 봅니다 ㅜㅜ
개발할때 참고하려고 받아둔 boost lib 메뉴얼 보고 풀었어요... 근데 뭐 메뉴얼이 인터넷에도 있으니...
뭔가 깔 거리가 적은 준stl 를 가져가 쓰니...
출제자 의도와 달랐던것 같네요
예제코드 참고한걸 치팅이라고 하면.... 채점을 실무자가 안한거죠.
이해가 안가는 평가네요.
혹시 문제 instruction에 cheating 관련 주의가 정확히 있었나요?
예제 코드 안보는건 메뉴얼도 안보고 일단 뚝딱뚝닥눌러서 돌아가니 ok 하겠다는건데.. 잠재적 문제가 있으면 피곤해지죠..
과거랑 다르게 프로젝트 관리도구 도입된 이후로 제일 중요한게 협업이 되드라고요 ㅎ
추가로 ...
코딩테스트에 대한 제 생각은 다음과 같습니다.
코딩테스트는 비구조화된 문제를 주고 문제해결과정(코드)를 보는것이거든요. 근데 제시된 과제가 너무 비구조화되어있으면
출제자의 의도와 다르게 너무 열린정답이 생기게 마련입니다. 열린정답의 범위를 줄이기 위해서 어느정도 성취행위, 기준, 조건을 제시 해야하는데...
본문에 보면 그런것들이 하나도 없나 봐요~
교수님이더라도 어느정도 문제 출제시에 들어가야하는 요소 정도는 아실꺼 같은데 없는거 보니 안타깝네요.
제 생각은 글쓴이님의 실력부족이 아닙니다.
그래놓고 구글 검색 결과 스택오버플로우 베꼈다고 하는 건 -_-
그러면 직접 와서 시험을 치게 하던가 말이죠.
답이 치팅이 있다는 소리는 문제도 기출있다는 소리죠
문제를 좀 더 괜찮게 만들 생각을 하라고!!
근데 문제 난이도가 심하게 올라가서 문제풀이 좋아하는 사람들은 잘 풀지만
오히려 실무자가 풀수 없는 경우도 있더라구요. ㅎ
아무튼 예전에 구글 코딩인터뷰 가이드영상에서는 이런 경우는 이렇게 하라더군요.
"출제자에게 질문하세요"
아마 해당 회사가 직원을 채용하는 경험이 적어서 코딩 면접을 마치 학부생 과제처럼 채점한게 아닐까 생각됩니다.
여러번 소개하지만 스타트업부터 외국계 대기업 다 다녀봤지만
치팅의 기준도 정상은 아니고
채점자의 수준도 뭐 알 것 같고,
갈 필요 없는 회사라는 건 더 명확한 것 같네요.
특별할거 없는 ipc 코드에 대해서 겹치는 코드가 없을수가 있을까요;;
/Vollago