Misery
20
2019-07-21 13:13:48 작성 2019-07-21 13:14:05 수정됨
110
8289

면접 지원자들의 알고리즘, 자료구조 이해수준이 너무 낮은것 같습니다. 제가 바라는게 많은걸까요?


요즘 면접관으로서 들어가는데 저희는 면접전에 알고리즘을 본다고 면접전에 확실히 지원자들에게 공지합니다.

근데 면접보러오는 사람들 대부분이 간단한 피보나치 함수 작성, 분석 조차 못하네요....(거의2시간가까이요..)


이런것도 못하는데 이력서만 보면 경력이 5년이상이니 sql자격증을 땄다던가... 정처기를 땄다던가 하는데...

어떻게 저런것도 못하는데 경력이나 스펙을 저렇게 쌓았고... 현업에서 일을 해왔는지 의문이 들뿐만 아니라

이런 부족한 실력으로 면접을 보러오는지 모르겠습니다.

7
1
  • 댓글 110

  • 방가방가2
    1k
    2019-07-21 13:22:07

    실제로 하게 될 업무에 대해서 면접을 보는게 좋습니다... 개발자들이 실제로는 전문가가 아니라 기능공이란 사실은 알고 계시리라 생각합니다. S/W 설계를 시킬게 아니라면요.

    0
  • 시인들
    1k
    2019-07-21 13:30:10 작성 2019-07-21 13:31:18 수정됨

    글쎄요..이건 면접자들이 문제라기 보다는 우리나라 구조의 문제 인거 같은데..개발자 양성보다는 엔지니어를 추구하는 사회적 문제일듯 합니다..가령 스프링 엔지니어..

    3
  • Frudy
    3k
    2019-07-21 13:30:26

    원하시는 실력의 개발자분들이 지원할만한 조건이 제시되어있나요?

    고수분들 많으실탠데,

    7
  • 파이썬초보..
    565
    2019-07-21 13:33:52

    이것도 못하는건 그냥 흠...

    0
  • 스텁
    1k
    2019-07-21 14:17:09 작성 2019-07-21 14:24:41 수정됨
    sql 잘 짤정도면 피보나치 이해는 다 하죠 피보나치가 별거라고..다만 학습 패스가 조금 달랐다는것일텐데요. 요즘 기본 알고리즘이 중요시되는 트렌드를 못따라갔다고 생각하는게 맞지 싶습니다. 다만..기본을 못따라가는것도 좀 문제이기땜에 못하면 걸러야죠 ㅎㅎ
    2
  • defult
    2k
    2019-07-21 15:10:28 작성 2019-07-21 15:11:14 수정됨

    사회분위기가 이론보다 프레임워크 사용능력 요구하는 지금 자료구조나 알고리즘 제대로 익혀본사람이 몇이나 될까요

    대학에서 기업이 쓰는 프레임워크가 아닌 기초와 학문 이론 가르친다고 뭐라하기도하는데여 뭐..

    0
  • 강쑤
    44
    2019-07-21 16:07:01

    학부때 시험볼땐 알아도 막상 현업에서 재귀함수니 피보나치니 직접 짤 일이 잘 없으니깐 까먹을 수도 있지 않을까요? 코딩테스트본다고 따로 준비하지 않는이상...

    알고리즘 자료구조 코테 등등 실력없는 사람들 어느정도 걸러지는 효과는 있겠지만 의외로 좋은 인재도 놓치는 경우를 많이 봐서 부족한 실력이라고 전적으로 공감하긴 조금 힘드네요:)

    6
  • flyso2
    358
    2019-07-21 16:36:48

    앞으로 하게 될 업무에 관해 물어봐요...


    피보나치 소트 기초 알고리즘 외우고 있는거는 대졸 때나 초보 때나 하지 


    경력자가 쓸 데 없이 그런거 외고 있겠나?


    너는 인터넷 도움없이 소수구하기, 버블소트, 팩토리얼 이런 거 할 수 있냐?

    6
  • flyso2
    358
    2019-07-21 16:40:09

    코딩 테스트로 알고리즘 물어보는 거는 진짜 초긎ㅂ개발자 뽑을때나 하는거고...


    중금 고급 뽑을 때는 그에 맞게 소프트웨어 공학이나, 언어 고급 문법이나, 디자인패턴이나 솔루션 아키텍처나, SQL 구현이나 이런거 물어봐요...

    7
  • 알린
    77
    2019-07-21 16:45:20 작성 2019-07-21 16:45:59 수정됨

    저는 실제 업무에 관해서만 인터뷰 봐야한다는게 이해가 잘 안가네요. 알고리즘 문제 풀이도 아니고 다른 분들은 피보나치를 외워서 해야하는 것으로 보는 것 같아 놀랍네요. 그 정도의 문제 해결 능력이 없으면 저 같아도 뽑지 않을 것 같습니다.


    대기업들이 괜히 알고리즘 문제 해결 능력을 묻는게 아니죠.

    1
  • abilists.com
    846
    2019-07-21 16:57:48

    저도 잘 못합니다. 알아두는것이 나쁘지 않은것은 사실입니다.

    1
  • 루쿠꾸
    60
    2019-07-21 17:02:59
    저도 알고리즘은 못하는데요
    과제전형은 잘 붙습니다
    과제를 줘보시는게 ㅎㅎㅎ
    물론과제낼만한 대우는 필수
    2
  • ISA
    805
    2019-07-21 17:30:20

    학부생을 부르시면 잘할거 같네요 그리고 너무 쉬운건 내지마시고요. 오히려 너무 쉬워서 왜 이딴걸 질문하지 내가 모르는 뭔가 있나 싶어서 고민하다 시간낭비했던 경험이 있고 심지어 너무 쉬운걸 물어서 대답못했던 적도 있네요. (그걸 왜물어?  에이 이걸 물어보는건 아니겠지)해서 모른다고 한적도 있어요. 

    1
  • 전재형
    4k
    2019-07-21 18:41:04

    저는 용어는 모르더라도, 그 문맥을 알려줬을 때 그 정도 구현은 쉽게 해내야 한다고 생각합니다.

    그게 안되면 사실은 코딩의 감이 없는 사람이죠. 코딩의 감이 없는 사람이 하는 설계가 믿을만 할까요?


    피보나치 수열을 구현하세요.라는 문제보다는. 피보나치 수열은 {...}입니다 이것을 구현하세요.

    이런 방식으로요.

    14
  • adultism
    29
    2019-07-21 19:39:55

    핳핳핳 회사이름 알면 지원하고싶네요.

    0
  • 코딩빠샤
    373
    2019-07-21 20:23:56

    그런 인터넷에서 검색 한번 하면 다나오는

    떠도는 자료구조는 무의미 한거 같고

    http://tech.kakao.com/2018/10/23/kakao-blind-recruitment-round-2/

    이번 카카오에서 낸 문제처럼 정말 어떠한 알고리즘이 필요할때 이걸 해결할수 있는 능력이 있는지 판단하는게 더 정확할거 같은데요..

    님도 저위의 카카오 문제 정말 효과적으로 풀 알고리즘 사고력은 되는지 궁금합니다. 

    0
  • March
    2k
    2019-07-21 23:23:38

    저라면 알고리즘보다 객체지향적설계능력, 코드재활용의장단점, 적절한디자인패턴응용, 아키텍쳐설계능력, 클래스간구조정의, 테스트케이스작성, 업무이해력, 간결한코드의중요성등 sw공학적인 측면에 더 중점을 둘것 같네요.

    1
  • dohyeong
    610
    2019-07-22 03:51:01

    피보나치가 외워야 되는 정도였나요. 하다못해 다익스트라 정도만 되도 모를수도 있지 하겠는데, 피보나치는 구구단 수준이라고 생각하는데요. 실무에서 구구단을 짤 일은 없겠지만, 경력자가 못 짜진 않겠죠.

    면접이면 피보나치가 뭔지 모르면 물어보면 되지요. 그 정도 커뮤니케이션도 안하는 사람이면 별로 같이 일하고 싶진 않네요.

    0
  • 주6일근무자
    1k
    2019-07-22 08:43:18 작성 2019-07-22 08:44:35 수정됨

    구글링 일분컷인데 그거 알고 모르고가 

    중요한가? 싶습니다. 실제 업무에 얼마나

    쓰일지도 의문이구요.

    업무 도메인이나 커뮤니케이션 능력이

    더 중요하지않을까요?  신입이면 몰라도요..

    1
  • 안움직여도쏜다
    2k
    2019-07-22 09:25:36

    학생들 불러서 면접보시면될듯 ㅇㅋ

    0
  • pooq
    3k
    2019-07-22 09:47:49

    3년차 이상이면 실무에서 외워야할것도 엄청 많은데, 실무에서 직접적으로 사용하지 않는 알고리즘을 능숙하게 한다는건 오히려 실무 경험이 없다는 반증이 아닌가요?

    1
  • celeste
    863
    2019-07-22 09:55:27 작성 2019-07-22 09:56:26 수정됨

    알고리즘 공부하거나 알고리즘 싸이트에서 한참 할 때는 또 잘 짜는데,

    업무에 찌들어 있을 때는  금방 까먹습니다. 사실, 알고리즘을 이해하고 짜려면,

    제가 똑똑한 편이 아니라서 금방 까먹고 했던 것도 잊어먹고 하더라구요,

    약간의 암기와 수학공식, 메소드를 알면 금방짜는데 모르면 엄청 헤매기도 하는 것 같습니다.

    요즘에는 짜라고 하면 못 짤거 같아요, 2주 정도 알고리즘만 공부할 수 있다면,

    어느정도 다시 회복? 할 것 같은데ㅎㅎㅎ 


    대신에 경력이 조금 차고나서는 스크랩하고 정리해둔 알고리즘 노트를 보여드립니다.

    알고리즘을 업무에 적용했던 코드도 따로 모아두고요, 필요할 때 꺼내쓰면 되니까요,

    처음에는 못짜네? 실망했던 면접도 테스트이후 보여드리면 대부분 패스했던 것 같습니다.


    1
  • Misery
    20
    2019-07-22 10:09:18 작성 2019-07-22 10:20:14 수정됨

    자꾸 실무랑 알고리즘을 분리해서 생각하시는 분들이 많아서 적는데요.

    적어도 저는 프론트엔드업무를 보면서도 실무에서 dp, greedy, backtracking을 자주 사용합니다.

    이런 능력이 실무에서 필요하고 면접에서 볼만하니까 보는겁니다.

    본인들이 본인들 수준에 맞는 작업만 해왔다고 남들도 그렇다고 생각하지 말아주세요.


    알고리즘을 자꾸 외운다고 생각하시는데 코드를 외우라는게 아니라 여러 방법론을 알고 있으라는 겁니다.

    자꾸 학부생이면 잘하겠다고 비아냥대시는데 저런걸 외워야 한다고 말씀하시는게 학부생때도 공부안하셨을것

    같은분들이 주제모르고 나대지 마세요

    -11
  • minarai
    2k
    2019-07-22 10:38:00

    위에 댓글의 수정내용을 보면서

    점점 읽으면서 빡침을 느끼는 글쓴이분을 생각 할 수 있었습니다.

    면접에서 알고리즘 본다고 공고했다는데


    그걸준비안한거면 지원자가 공고를 제대로 안봤다는건데...

    지원자는 나 경력자이고 수상경력도있으니까 잘보고 뽑아 이런느낌이네요


    0
  • 북극곰탱의아들
    22
    2019-07-22 10:55:51

    알고리즘하고 실무하고는 차이가 있지 않나요...?

    그냥 개념정도만 확인하시면 되지 싶습니다만...

    0
  • 돈까스
    2k
    2019-07-22 11:30:04 작성 2019-07-22 11:30:12 수정됨

    음. 수준 이하의 댓글들이 많이 보이네요.

    글쓴분이 빡칠만 하네요.

    퀵소트 구현하라는 것도 아니고,

    피보나치 구하라고 했는데 이런 비난 댓글이라니.


    0
  • Shortdary
    5
    2019-07-22 11:30:49 작성 2019-07-22 11:32:36 수정됨

    ㄹㅇㅋㅋ

    자꾸 학부생한테나 물어보라는데

    학부생보다 못한 실무자는 필요없음

    3
  • junghaklee
    170
    2019-07-22 12:30:32 작성 2019-07-22 12:56:08 수정됨

    저는 원글님이 인터뷰를 잘하고있다고 생각합니다.

    알고리듬문제 낼때, "피보나치를 구현해보시오" 보다, "피보나치는 다음과 같다, 이를 구현해 보십시오"라고 질문하고. 만약에 막히면, 조금씩 힌트를 주면서, 예를 들면 재귀함수를 쓰면 쉽게 풀린다, 같이 풀어가는 방향으로 인터뷰를 하면 후보자의 수준을 어느정도는 파악할수 있지 않을까 봅니다.


    한가지 더 첨언하자면, 온사이트인터뷰전에, 전화로 기술적인걸 물어보는게 서로 시간낭비 안하는 길입니다.  물론 피보나치 문제는 전화상으로는 풀기 힘들지만, 다른 기술적인 문제들 몇가지를 물어보면, 온사이트 인터뷰에 초청할수 있나 없나 어느정도 가늠할수 있습니다.


    세상에 완벽한 인터뷰는 없습니다.  윗분말씀대로 알고리듬 테스트에 통과 못하는 좋은 인재를 놓칠수도 있습니다.

    하지만 이렇게 인터뷰를 하면 "뽑고 났더니 아무것도 못하더라"라는 그런 사태는 방지할수 있다고 봅니다.

    1
  • 한량개발자
    658
    2019-07-22 12:36:15

    주제도 모르고 나대서 죄송합니다.


    그렇게 주제가 높으시면 높은분들을 대우해주는 회사인지 보면 되겠네요.

    계속 면접보시면서 빡치면 회사가 그정도 주제이니 그정도 지원자만 오는거 아닐까요?

    1
  • ㅇㅈㅇ
    3k
    2019-07-22 13:11:03

    면접관들이 보고싶은건 지식이 아니라 생각하는 힘입니다. 

    문제해결능력이고요. 

    문제해결능력에는 일하는 방식도 포함됩니다.

    모든 업무가 그렇겠지만 개발은 이게 특히 중요해요

    일을 맡기는 입장에서 보면 이게 되는 사람과

    안되는 사람차이가 정말 어마어마하게 커요


    그냥 구글링해서 알 수 있는 것들과 잘 설계된 문서대로 

    구현하고 찍어낼 일거리만 있으면 아무나 뽑아도 되죠

    그게 아니니까 문제지


    내가 정말 해당지식이 아무것도 없는 상태로 면접에 임했어도

    맞은편에 앉아있는 면접관 머릿속에는 다 있잖아요. 

    그걸 기분나쁘지 않게 뽑아내고 빠르게 이해할 수 있는 

    사람이면 플러스면 플러스지 그걸 싫어할 회사 없습니다


    원하는게 그런 사람이니까요



    0
  • mirheeoj
    8k
    2019-07-22 13:34:21

    글 쓴 분의 취지에는 공감합니다.

    하지만 원인에는 이견이 있겠지요 

    원인이.. 

    - "개발자들이 모두 수준이하여서 그렇다." 일수도 있겠지만, 

    - "모종의 이유로 저런 문제들을 풀기 어려운 사람들만 지원하였다." 일 수도 있거든요. 

    0
  • 김모씨
    2k
    2019-07-22 13:34:25

    파보든 태보든 검색해서 나오면 쓰는건데 왜그러느냐 - > 경험자

    태보 그거 걸음마부터 자세히 배워야되요 - > 무경험자.

    경험자가 저런문제 만나면 검색해서 해결하면 됩니다. 

    인터넷 안되는 환경에선 어쩔꺼냐.. 같은 질문은 그럼 키보드 안되는 환경에선 어쩔꺼냐.. 정도로 이해하시고.  넘어가면 되고요. 

    만일 검색으로 하기 힘든 정말 로직에 대한 자세한 이해가 필요하다면 그제서야 그런 인원을 뽑으면 된다고 봅니다. 

    그런 사람을 필요로 하지 않는 광고,면접에 그런 조건 걸어봐야. 그런사람은 다른 좋은 조건의 회사로 가버리죠. 

    혹은 잘클 사회물정모르는 신입을 운좋게 건지던지요. 

    0
  • 축구좋아함
    230
    2019-07-22 13:36:35
    피보나치는 대학생들이 시험 앞두고 외우는거 아닌가요ㅋㅋ 피보나치가 개발자 기본역량이라면 모를까 단순히 재귀함수 예일뿐인데..  
    0
  • mer
    95
    2019-07-22 14:19:48
    제목만 보고 반대하러 왔는데 내용보고 생각을 바꿨습니다

    피보나치 수준의 문제도 해결 못하는건

    면접자의 기본적인 문제 해결 능력 수준을 의심해봐야 한다 생각합니다
    0
  • 물곰
    81
    2019-07-22 14:34:27

    아니 초등학교 졸업한지 오래되면 구구단도 못해야 정상인가요?

    작성자분이 뭐 대단한 알고리즘을 물어본것도 아니고;

    피보나치 같은 걸 물어봤다고 비난댓글이 쏟아지는게 황당하네요.

    그걸 2시간이나 붙잡고 구현 못하고있는 5년차 개발자는 당연히 거르고 싶을거라고 생각합니다.

    0
  • dydo_
    704
    2019-07-22 14:46:53

    자 여기서 알고리즘과 실무는 다른거 아니냐고 하는 분들을

    닉네임 대신 알알못님 이라고 불러도 됩니다^^

    알고리즘이 뭐 그렇게 특별한거라고요 그냥 이콜 업무해결능력입니다.

    공식을 외우고 있어야 한다는게 아니구요.

    어떤 문제를 해결하는 데 있어서의 최적의 솔루션이 곧 알고리즘이에요.

    헛소리들 좀 그만요..



    0
  • zip6656
    1k
    2019-07-22 15:08:51

    업무하면서 할것도 많고 외울것도 많은데 피보나치인지 파보나치인지 그거 얼마나 쓰겠습니까?

    Btree도 잘 안쓰이는데

    0
  • mirheeoj
    8k
    2019-07-22 16:20:58

    대충 보니 "피보나치"에 방점을 두는 분들과 그렇지 않은 분들로 나뉘는 것 같네요 


    근데 설마 피보나치 수열이 뭔지 외워서(...) 풀어야 하는 문제를 냈겠습니까 수학과도 아닌데 

    피보나치 수열 자체가 알고리즘인것도 아니고요. 

    다만 본문에 정확히 그걸 안 적어주셔서 오해를 사신 것 같아요 


    0
  • hukk
    849
    2019-07-22 16:39:48 작성 2019-07-22 16:41:11 수정됨

    flyso2 // 저는 현재 전공자 출신에 다른 일을 하고 있지만 위에 언급된 정도는 당연히 숙지하고 있습니다....

    그냥 취미로 알고리즘 사이트가서 기초단계만 돌파해도 위에서 언급되는 알고리즘 진짜 무더기로 나옵니다.

    물론.. 이런걸 공부하더라도 막상 웹을 개발하니깐 확실히 다른 세상같긴 합니다. 

    오히려 프레임워크 사용에 머리가 더 아플 지경이지요... 이것도 맞고 저것도 맞는거 같아서 저조차 답을 모르겠네요.

    0
  • 시빛
    273
    2019-07-22 16:40:31

    음.. ㅋㅋ

    피보나치 함수 구현이 그렇게나 실무자들은 못풀정도로 난해한데다 쓸데가 없는 그런건가요?

    레벨로 치면 걍 큐 스택 정도의 레벨 아닌가요? 간단한 스택큐도 어지간해선 구현해 보라면 1시간 이내론 튀어나올 거 같은데...


    이게 뭐 대단한 거라고 회사 레벨을 들먹일 거까지 있나요? 이거 풀 줄 알는 애들이 뭐하러 니 회사에 지원하냐 이런 말까지 나오는 실정인데 저거 풀 줄 모르는게 좀 이상한거 아닙니까...ㅋㅋㅋㅋ

    오히려 저거 못 하는 실무자가 어디 있나요...ㅋㅋㅋㅋ

    1
  • 한무사
    103
    2019-07-22 16:50:48

    그냥... 암기력 테스트네요..  그걸알아야만 업무한다고 생각하는것도 문제 인듯합니다.


    그걸 알아야 하는 업무가 주어지면 그정도 파악이야 금방하죠...


    말씀하신데로 뭐 그리 대단한거라고...

    0
  • 전재형
    4k
    2019-07-22 16:59:45

    정말 말도 안되는 댓글들이 넘쳐나는군요.


    나는 이정도가 개발자의 기초 소양으로 생각한다는 글에 니는 얼마나 잘하냐, 니 회사가 그모양이니 지원자 수준이 그렇지 않냐는 비아냥거리는 초딩 댓글이 왜이렇게 넘쳐나는 것인가요?


    참... 개발자하기 쉽네요

    0
  • 전재형
    4k
    2019-07-22 17:00:22

    회사가 돈을 안 주면 개발자가 가장 기초적인 준비도 안되어있는게 정상으로고 보이십니가?

    0
  • mer
    95
    2019-07-22 17:13:59
    피보나치가 암기라 말하시는 분들이 계시는데

    애초에 글에서 논제 자체가 피보나치인것도 아니고

    그렇다고 원리만 알면 되는걸 굳이 암기까지 한다는걸 보면

    세상에는 정말 다양한 사람이 있다는걸 한 번 더 느끼고 갑시다

    피보나치가 됐건 스택 큐가 됐건 개발자라면 상식선에서 바로 떠오르는걸 암기니 실무와 관련이 적다니 하고있으니
    2
  • 보해잎새주
    344
    2019-07-22 17:29:13

    알고리즘, 자료구조를 알아야만 SQL 자격증 취득, 정처기취득, 경력쌓기, 스펙업, 현업에서 일을 할수가 있나요?

    알면 도움이 되겠지만 몰라도 충분히 할수 있는 것들입니다.

    알고리즘, 자료구조 가 절대적인 실력이라고 생각하신다면 차라리 신입을 뽑으시는게 어떨까요?

    경력자들보다 이런 부분은 신입이 더 잘하는걸로 알고 있습니다.




    0
  • moonti
    2k
    2019-07-22 17:48:19

    피보나치를 못푸는 5년차 개발자라..

    솔직히 저는 까먹을 자신이 없는 문제네요.

    피보나치 까먹고 재귀호출하는 로직을 짤수 있나요?

    1
  • mer
    95
    2019-07-22 17:49:51
    피보나치는 답을 전혀 모르는 상태라도

    정상적인 문제해결 능력을 가진 개발자라면

    당연히 풀 수 있는 수준의 문제입니다
    1
  • 라마
    6
    2019-07-22 18:11:55

    피보나치요.. 피보나치 수열 중학교에 등장해요. 배열만주면 한줄짜리 for 문으로도 짤 수 있어요.

    요즘 코딩의무화 교육때문에 저희 초등학생 사촌동생도 스크레치 엔트리 학교에서 배우던데

    학교숙제로 피보나치 구현하더라구요

    0
  • exexexe
    169
    2019-07-22 19:01:48 작성 2019-07-22 20:18:34 수정됨

    좋은 개발자 다 놓치지 쉽습니다.

    경력 5년이상이 업무에 치여서 다 까먹었을수도 있는데...

    그런걸 물어보니.황당했겠지요..물론 다까먹었을수도 있고요...

    실력 없을수도 있겠지요...하지만...

    여러가지 각도로 개발자의 자질을 평가해야 한다고 봅니다.

    단순 알고리즘 못풀었다고 비난 하기엔...너무 바보 스럽습니다.

    개발자 면접을 어떻게 보아야 하나...그런책이 있습니다. 찾아서 보십시요...

    책 홍보는 아니지만, "소트프웨어 장인" 책이 참 좋게 읽었습니다.

    덕후 스러웠지만, 내용은 좋았습니다.

    21세기에 레거시한 면접방식은 지양 했으면 합니다.

    2
  • ISA
    805
    2019-07-22 19:28:08

    한심하네요 실력이 없을 수 도 있지만 뭔 알고리즘 테스트한다고 해서 경력자니 준비도 안했을 확률도 있고 가보니까 뜬금없이 별찍기 구구단 풀어보라 문제 내면 그걸 어떻게 받아들이겠어요?  제가 여러분의 수학 지식을 테스트한다고 1+1이 뭔지 문제 내볼까요? 초심자면 2라고 하겠지만 수학자라면 다를겁니다. 문외한인 저만 하더라도 이 문제에 대한 여러가지 논의를 들어봤는데 수학자 입장에서는 문제풀이가 먼저가 아닌 출제자의 의도가 뭔지를 더 고민하겠죠 그냥 2라고 하면되는걸 여러가지 대답을 내놓을겁니다. 그럼 이 수학자가 여러분 보다 수학실력이 떨어지는건가요??? 전 모르겠습니다만.

    -2
  • 지붕뚫고높이차
    656
    2019-07-22 22:29:02 작성 2019-07-22 22:41:27 수정됨
    피보나치 문제를 내고 풀때까지 2시간동안 방치하면
    면접관이 잘못한거고

    면접자가 이해를 했는지 확인하고
    힌트를 줬는데도 문제를 못 풀면
    면접자 역량이 부족한 겁니다.

    저같으면
    for문으로 구성하면 1점
    재귀호출로 구성하면 2점
    동적프로그래밍으로 구성하면 3점 으로 하고

    피보나치 수열은 모르지만 면접관에게 질문하고
    문제를 해결하는 과정을 보이면 만점을 주겠습니다.

    좋은 개발자는
    모르는 문제에 자신있게 질문하고 협업하고
    코드로 보여줍니다.

    피보나치 수열만으로 판단할건 아니라는 거죠.
    6
  • jja
    2k
    2019-07-22 23:19:55 작성 2019-07-22 23:20:35 수정됨

    회사에서 알고리즘 공부 열심히 해서 삼성전자 간 사람있는데...

    코딩만 보면 시x개x끼임 ㅋㅋㅋ

    3
  • 히히히히33
    152
    2019-07-23 01:17:41
    • 한국인 종특이 여기서 또 나오네ㅋㅋㅋ

      자기가 알거나 할줄 아는거 나왔다고 이때다 싶어 

      지가 뭐라도 되는 냥 주둥이 함부로 나불나불 거리며

      동종업계 종사자 함부로 후려치는 개쓰레기 인성보소ㅋㅋㅋ

      하여튼 졸렬한 겸손문화 땜시 데놓고 자랑질을 못하는 대신

      남 트집잡고 깍아내리며 자기 내세우는 이상한 버릇이 있네요

      피보나치 수열 잘알고 계셔서 기본적으로 억대연봉들은 받고들 다니세여???

      진짜... 너도나도 개x도 아니게 벌어처먹는 인간들끼리

      건방지게 꼴깝은 떨고 살지 맙시다. 그런다고 님들 연봉 더 올라가는거 아닙니다.

      실제로 저 사람들이 지금 껏 어떻게 일해왔고 실무에서 얼만큼 인정받았는지

      제대로 검증도 안됐는데 주둥이들을 왜 그렇게 함부로 나불거리십니까???

      그냥 내가 추구하는 인재상과 맞는 사람이 없다 정도로 생각 하는게 맞지

      시건방지게 본인은 뭐라도 되는냥 실력운운 함부로 하는거 아닙니다.

      벼는 익을수록 고개를 숙이는 법이라는데

      우리나라 개발자들은 나이처먹을 수록 교묘하게 자기 내세울 궁리나 하고 자빠졌으니... 에휴...

      남 깍아 내리며 수명연장하는 돌팔이들이 여기 다 모였네ㅋㅋㅋ

    3
  • 히히히히33
    152
    2019-07-23 01:39:28

    기초의 중요성에 대해 그 누구도 반박 못하죠

    알고리즘만 중요한가요???? 수학도 중요하고  영어도 중요합니다.

    그렇게 기초 제대로 파서

    설포카 졸업한 인공지능 개발하시는 분들이신가요????

    억대연봉 받는 분들이신가요???? 박사따셨나요???

    제발 주제파악 좀 하고 야부리 털고 다니시길 바랍니다.

    비슷비슷한 연봉 받아처먹는 건 내놓는 결과물이 거기서 거기이기 때문이에요

    별볼일 없이 벌어처먹는 주제에 뭐 어디하나 트집꺼리 잡아 남 함부로 후려치는

    억대연봉 미만의 잡놈들은 주둥이 조심하고 삽시다. 그거다 되돌아 옵니다.

    1
  • 전재형
    4k
    2019-07-23 05:36:07 작성 2019-07-23 05:36:29 수정됨
    히히히히33 
    여기서 한국인 종특이 나오네요.

    먼가 대단한 타이틀이라도 있다면, 논리적으로 틀렸다 하더라도 그 권위에 머리 숙이고

    내 논리가 맞다하더라도 남들과 다른 말하면 니가 먼데 그러냐, 니깐게 머라고

    이런식으로 얘기하는.



    0
  • 꾸아앙
    1k
    2019-07-23 08:01:33

    제가 피보나치에대해서 착각하는건가요?

    피보나치정도 물어본건 진짜 바보거르기 그 이상도 이하도 아닌데요

    0
  • 재미없다~
    1k
    2019-07-23 09:01:18

    개인적으로 5년차이상 개발자 뽑는데 단순 구현 가능한 알고리즘 묻는건 면접보러 온 사람에대한 예의가 아니라고 생각합니다

    위에 어느분도 말하셨지만 

    저도 지난번에 면접보러갔는데 버블정렬을 구현하라고하는데

    솔직히 그 질문 듣는순간 내가 이경력이되서 버블정렬이나 물어보는 회사에 취직해야하나 하는 생각이 들더군요. 그래서 그냥 어레이에 소트메서드 이용해서 정렬했던 기억이 있습니다.

    차라리 회사에서 어떤 업무를 위주로하고 어떤 기술을 사용하는데 이런 기술을 사용해봤냐 이런문제는 어떤식으로 해결해야하나? 이런것처럼 뭔가 토론이나 의견주고받는 형식의 면접이 더 회사에서 뽑는 경력직에 맞는 질문 아닐까요? 개인적으론 그렇게 생각해서 면접 보는데 이상한질문하면 대답도 그냥 대충하게 되더라는....

    특히  이력서에 다 써있는데 보지도않고 물어보는 회사들

    최소 경력직 면접이라면 면접 전에는 이력서 다 받을텐데 보지도 않고 면접 들어와서 이력서를 파악하니 질문의 수준도 떨어지고 암담 하더라구요. 그냥 개인적인 의견입니다.

    1
  • 자라선
    1k
    2019-07-23 09:07:18

    저도 윗분들과 동일하게 경력자에게 피보나치를 구현 하라는건 좀 .. 예의에 어긋난것 같습니다.

    극단적으로 비유하면 대학입시면접에서 초등학생 시험문제를 풀어보라는것과 같은거 아닙니까..

    입시생은 그 대학의 수준을 거기서 알겠죠..

    0
  • LimeDoo
    552
    2019-07-23 09:10:53

    저도 알고리즘 재미있어요...이것만 하다보면 시간이 훌쩍 가도 모를만큼 깊이있게 빠지고 정말 뭐랄까...

    암튼 재미는 있는데....실무랑은 거의 연결되지 않죠....뭐 연결되는거 굳이 찾자면 논리적이게 설계를 해야할때? 뭔가 복잡하게 꼬인것을 단순화하기위해 도출해내야하는 그 순간 알고리즘적인 사고방식만이 필요할뿐이죠...저도 알고리즘만 파면 대기업 갈수 있겠다 싶지만 실무적으로는 노노노.......그냥 기초 수학같은 존재이죠...물론 중요해요....알고리즘 어느정도 하는 분들 똑똑해요...잘해요...그건 인정....알고리즘만 잘하고 일못하는 사람도 보긴 봤는데.....많이는 못봤습니다. 

    1
  • sm&si
    2k
    2019-07-23 09:29:22

    공지를 했는데도 공부를 안해오는것은

    그 회사에 입사할 의지가 없다고 봐야겠죠.


    여러군데 면접보는 중에 한 회사일 뿐일겁니다.

    면접자 입장에서는 그런것까지 준비해야할 회사가 아닐수도 있구요.

    0
  • kkey21a
    3k
    2019-07-23 09:40:15 작성 2019-07-23 09:47:31 수정됨
    본인 회사 구인이닌만큼 면접관께서 잘하셨을거라 생각됩니다. 

    다만, 경력을 뽑는 만큼, 인터넷에 조금만 검색하면 나오는 시대이닌만큼, 문제 해결 능력 검증에 더 방점을 두면 어떨까 합니다.

    예를 들어, 
     1.피보나치 공식은 알려준다던지 혹은 설명을 해줬는데도 못 푼다면, 문제해결 능력도 의심해 볼 여지가 있을 것 같습니다.

     2.결국 나와 같이 일하는 사람을 뽑는것인 만큼, 지원자가 다양한 질문을 할 수 있는 분위기를 만들어주고, 조금 더 나은 프로그래밍(접근 방식에 따른 시간 복잡도, 반복 방법등)을 할 수 있도록 소통해가는 면접을 만든다면, 설사 그 지원자가 면접에 떨어지더라도 배워가는게 있어서, 그 회사에 대한 인식이나 면접에 대한 인상은 다른 곳보다는 더 좋았을거라 생각합니다. 

     >> 나중에 뽑았는데, 일정이 완료될때까지 의사소통을 안해서 끙끙되거나, 혹은 못해서 잘못 개발하거나 하면, 곤란하잖아요. 또, 자기가 잘못한걸 아는데도 억지부리는 사람들등등.

    3. 아무래도 이런 면접은 힘들겠죠?
    2
  • 김모씨
    2k
    2019-07-23 09:44:59

    신입을 뽑는건 미래를 기대하는거고 실무경력자를 뽑는건 현재를 기대하는거라고 봅니다. 

    집짓는데 설계하러온 건축가한테 당신의 실력을 알고 싶다고 콤파스와 눈금없는 자 주고 직선의 직각을 그려보라던지. 지붕무늬가 육각기준이니 콤파스와 자로 정육각형을 그려보세요. . 하는거로 보여요. 

    머 구글에서 최첨단 신소재로 3D 프린터로 찍어낸거 같은 건물을 구현하려는거 하려고 월 1억 건축가 모으는거라면 모를까 빌라 짓는데서 저러면 좀 기가 차겠죠. 

    반전으로 글쓴이가 삼성SDS 현대오토에버 상시모집관.. 그러면 모르겠지만 그쪽이랑 일해본 바론 그런분은 아닌거 같고. 

    근데 SI라면 파보나치 보단 소스 가독성,무결성이 더 필요한거 같습니다만.. 

    3
  • kamy
    80
    2019-07-23 10:32:25 작성 2019-07-23 10:39:12 수정됨

    냉정하게 말씀드리자면 질문 수준에 맞춰서 사람이 들어오는겁니다 

    멍청한 질문만 하면 그 멍청한 질문 대답할수있는 사람이 들어올거고

    똑똑한 질문만 하면 똑똑한 질문에 대답할수 있는 사람이 들어오겠죠 

    글쓴님에게 당장 누가 뜬금없이 다익스트라 알고리즘 설명해보라고 하면 할수 있겠어요? ㅋㅋ


    피보나치 함수도 f(n) = f(n-1) + f(n-2) 이게 중요한게 아니라, 

    tail recursion 쓰던가 memoization 같은 기법을 통해서 stack overflow를 방지하며 구현하는게 중요하다는걸 물어봐야하는데

    이걸 물어보진 않았겠죠?

    3
  • 험프티덤프티
    332
    2019-07-23 11:52:38 작성 2019-07-23 11:54:21 수정됨

    제 얘기가 도움이 될지 모르겠는데

    파보나치 수열이 먼가 인터넷 찾아봤는데 옛날에 자료 구조할때 공부하던거네요

    이것도 모르고 개발자 했냐 해서 울컥해서 봤떠니.. ㅋ옛날에 했던거네요

    근데 이게 왜 개발자 소양이 되는지 모르겠네요.. 


    아마 처음 봤더라도 직접 풀었을듯 하네요 이건 솔직히 수학문제라.. 


    면접관님 오바에요. 개발자 소양과는 아무 관련이 없어요. 


    1
  • 하오바오
    93
    2019-07-23 13:30:40

    n >= 0 일 때 fib함수를 구현하세요.

    • fib(0) = 0,
    • fib(1) = 1,
    • fib(n) = fib(n-1) + fib(n-2)


    이것이 수학문제 또는 수학적인 지식이 필요해서 구현이 힘든 문제인가요?  댓글 읽고 적잖이 놀라게 되네요


    2
  • ONLINE
    388
    2019-07-23 15:58:22

    직설적으로 표현하면 회사 수준에 맞는 지원자가 지원할 뿐입니다. 면접자가 마음에 안 들 경우 면접자를 탓할게 아니라 본인이 다니고 있는 회사의 위치를 객관적으로 다시한번 둘러보심이 어떨련지요..

    0
  • flydof
    385
    2019-07-23 16:05:26

    내 경험에 위하면 알고리즘으로 코딩 테스트를 내거나 그걸 잘 풀거나 하는 애들은 초짜들이더군요...


    고수는 이름물어보고 목소리 듣고 얼굴만 봐도 코딩 잘하는지 못하는지 압니다...

    -3
  • 앤트울프
    207
    2019-07-23 16:17:26

    이 커뮤니티에 맞지 않는 질문을 올리셨군요 ㅠㅠ

    차라리 블라인드 IT라운지에서 질문하시는게 나을듯 합니다.

    2
  • 손이시렵다
    1k
    2019-07-23 16:18:30

    댓글이 재밌네요

    0
  • 전재형
    4k
    2019-07-23 16:25:20

    참 댓글들..


    내가 못 났기 때문에 못 난 사람을 만난다는 논리는 대체 어디서 나오는 겁니까? 사회는 복잡해서 어떤 사회학자도 쉽게 말하지 못하는데.


    만약 본인의 경험상 확률적으로 그랬다면 만약 아닌 경우에 해당하는 거라면 무슨 변명을 또 하시렵니까?


    개발 일을 하시는 분의 기본적인 논리구조가 아니라고 생각합니다.


    같은 포맷으로 다시 말을 하면 

    교통사고사 당한 사람 모두는 그 자신이 교통질서를 잘 안 지켜서 그런 일을 당했다 생각하는 겁니까?

    태어나자 마자 죽는 아기는 부모가 잘못해서 그런겁니까? 


    먼 생각들이세요 정말....

    -5
  • 슈팅스타님
    70
    2019-07-23 16:59:45

    댓글이 코미디 ㅋㅋㅋ

    0
  • kkey21a
    3k
    2019-07-23 18:53:44 작성 2019-07-23 18:55:08 수정됨
    1
  • 전재형
    4k
    2019-07-23 18:59:17

    Kkey21a 등신이 다시 등판하나요?

    사회 이야기로 보입니까? 자신의 마음가짐이 저따구로 살지 말란 거지. 가치관이 뭔지 모릅니까? ㅉㅉ

    -7
  • 재현아빠
    1k
    2019-07-24 09:06:33

    흠...저는 이 글에 달리는 댓글들이 좀 이해가 안 가네요..

    면접관의 입장에서는 충분히 확인할 수 있는 질문이라 생각됩니다. 본문에서는 예를 들어서 이야기를 하신거구요..

    당연히 검색해보면 거의 대부분 찾을 수 있습니다. 그렇게 따진다면, 테크니컬 인터뷰는 할 필요가 없는 것 아닌가요? 검색하면 다 나오는데? 더구나 알고리즘에 대해 물어본다고 공지도 했는데요 ?

    회사입장에서는 최소한의 문제해결능력을 봐야하는 것이고, 어떤 분 댓글처럼 피보나치가 뭔지 모르면 설명을 해달라고 해서 그걸 참고로 구현하면 되지 않을까요? 그것조차 못해서 아무것도 못한다면 당연히 회사에서는 걸러야 하는 사람이라 생각합니다.

    몰라도 업무에는 상관없다는 댓글들에 놀랄 뿐입니다.

    1
  • 돈까스
    2k
    2019-07-24 09:37:51 작성 2019-07-24 10:23:11 수정됨

    저는 댓글중에 이런 글이 제일 이상한 것 같습니다.

    '이 경력이나 됐는데 이걸 물어봐?' 라고 기분이나 나빠져서 문제를 의도와 관계없이 마음대로 풀어버렸다.

    쉽거나 하찮은 일이 주어지면 이런 일을 나같은 경력한테 주냐고 멋대로 하실건가요?


    코딩 테스트 시간이 2시간인데 피보나치를 풀지 못했으면 어떤 식으로든 변명거리가 없습니다.

    피보나치 수열이 뭔지 모른다?

    문제 자체를 이해 못한 상태로 2시간동안 서로의 시간을 버리고 있었다는 이야기인가요?

    이것만 봐도 커뮤니케이션 스킬이 없다는 이야기죠.

    이상적인 개발자라면 피보나치 수열이 무엇인지 모르겠다라고 말하고, 면접관에게 설명을 해달라고 하겠죠.

    면접관이 그걸 설명해줄수 없다고 하면, 2시간동안 있을 필요가 없이 못하겠다고 말하고 나오면 됩니다.


    2
  • 돈까스
    2k
    2019-07-24 09:43:49 작성 2019-07-24 10:21:08 수정됨

    코딩 테스트가 개발자 소양과 관련 없다고 하셨는데,

    잘 모르는 문제가 주어졌을 때 어떻게 그 문제를 접근하는지 볼 수 있습니다.


    일하다보면 너무 쉽고 하찮고 귀찮은 일도 할 수 있고,

    처음 보는 모르는 분야의 문제도 맞닥드릴 수도 있습니다.

    그럴 때 지원자가 어떤 식으로 문제를 접근하고 해결하는지를 코딩테스트를 통해서 볼 수 있는 겁니다.


    '나 같은 경력자에게 이렇게 하찮은 문제를 물어봐?' 라든가,

    '문제 자체가 뭔지 전혀 모르겠는데, 물어보면 우습게 보일 거 같으니까 그냥 이것저것 해보자'

    라는 태도로 일하는 사람하고 같이 일하고 싶으세요? 저는 정말 끔찍할거 같은데요?


    2시간동안 시간을 낭비하는 면접관은 정말 괴롭겠지만,

    그렇게 해서 좋지 않은 사람을 걸러냈으니 회사 입장에서는 아주 다행인 겁니다.


    0
  • 아플라
    589
    2019-07-24 09:47:03

    모르면 모르는대로 솔직하게 질문하면서 능력껏 풀면 되는거아닌가요 ㅋㅋ

    주어진시간동안 헤딩이라도 해보겠네요.

    다들 언제부터 내가 여태까지 알고있는거로만 개발하셨다고...

    3
  • 3
    2019-07-24 10:50:09

    뻘한데 피보나치에 재귀가 왜 나오죠...? 재귀로 짜면 가점 줄거라는 분도 계시네요....

    쉽고 어렵고 떠나서 n 이 커지면 활성레코드 수부터 어마어마하게 차이나는데....무슨 알고리즘이 존재하는지 아는게 아니라 어디에 어떤 알고리즘 쓰는게 맞는지 아는게 알고리즘 테스트 본목적 아닌가요

    1
  • 돈까스
    2k
    2019-07-24 11:00:42 작성 2019-07-24 11:02:30 수정됨

    저도 윗분 말씀에 동감합니다.

    제가 면접관이라면 피보나치 수열 함수를 재귀나 다이나믹 프로그래밍 같은 것으로 짰을 때,

    그렇게 하지 말고 쉽게 해보세요라고 해서 for문을 이용한 방식으로 바꾸지 못하면 감점 주겠습니다.

    그거야말로 프로그래밍을 외워서 했다는 말이니까요.


    덧셈 뺄셈은 못하면서 미적분 잘하는 사람 뭐에 씁니까?

    -1
  • flydof
    385
    2019-07-24 12:13:48

    알고리즘은 태권도 품세 같은거고



    쌈잘한 사람 뽑을테는 별로 소용없슴다

    1
  • 지붕뚫고높이차
    656
    2019-07-24 15:56:31

    같이 일하면

    속 터질 분들이 정말 많군요.


    여기 댓글 다는분 모아

    워크샵 한번 하면 재밌겠네요. ㅎㅎㅎ

    0
  • 초무쿤
    2k
    2019-07-24 17:06:43 작성 2019-07-24 17:09:13 수정됨

    문제해결능력이 필요한거지 

    학부생때 달달 외운 알고리즘이 필요한거는 아닐텐데요.

    신입뽑을때야 딱히 볼게 없으니깐

    학교생활 땡땡이는 안깠는지 확인해볼겸 물어보는거고 ;;

    경력뽑을때는 이전에 뭐했는지 물어보셔야될듯.

    //@flydof 

    ㅋㅋ 님이 정답이신듯 ㅋㅋ

    0
  • 스타
    3k
    2019-07-24 18:26:45

    나이 먹고나서 몇 일 줄테니 공부 해 오라고 한다음 고등학교 수학문제 풀라고 하면 푸는 사람 몇이나 있을까요? 고등학생 면접이라면 당연한 질문이겠지만, 그게 아니라면 물어보는게 이상하지 않겠어요?

    알고리즘이 개발자에게 기본이라고 하지만, 그건 신입 때 이야기고 알고리즘을 업으로 삼는 사람이 아니면 개인적으로 계속 공부하고 있는게 아니라면 그게 기준이 되긴 힘들죠. 업무에 안 쓰는 걸 개인적으로 공부해서 뭘 할려고 하는걸까요? 알고리즘 시험보는 좋은 곳에 취업하기 위해 하는 것이죠.

    일을 하는데 개인적으로 알고리즘 공부를 한다?? 닭이 먼저인지 달걀이 먼저인지 알 길이 없습니다.

    주변에도 알고리즘 공부 놓지 않고 하시는분 봤는데 개발 능력이랑은 별개인 것 같아요.

    0
  • 스타
    3k
    2019-07-24 18:33:58 작성 2019-07-24 18:35:50 수정됨

    근데 글쓰신분 제목이랑 내용이랑 댓글이랑 내용이 다르다.

    글제목은 알고리즘이 문제라고 했다가, 내용은 피보나치도 못 푼다고 했다가, 댓글에는 로직 다 주고 풀라고 말했다가... 


    결론은 면접자가 문제 있는건데

    내가 낚인건가?? ㅜ.ㅜ

    0
  • ISA
    805
    2019-07-24 20:08:39 작성 2019-07-24 20:10:02 수정됨

    어이가 없네요 알고리즘 테스트가 문제해결 능력을 보는거라면 면접은 뭐라고 생각하시나요? 그놈의 피보나치 코딩테스트 거리는데 수능때 불수능 물수능 왜 말이 많다고 생각해요? 문제 난이도가 적합하지 않아서입니다. 어려운걸 주면서 사람 실력을 평가하면 쉬워요 오히려 못푸는 사람 푸는 사람으로 나뉘니까 쉬운걸주면서 사람을 평가하려고해보세요. 뭘로 평가할 수 있죠? 개나소나 풀 수 있는 내용으로? 협업능력 어쩌고 하시는데 경력5년차한테 피보나치 작성 분석해보라고 하는 면접이라는 문제를 마주치면 객관적으로 무슨 생각이 드시나요? 생각 없는 사람 아니면 여러가지 생각이 들겁니다. 그 정도 생각도 없는 사람이면 주어진 문제에 정답이 있는 거나 잘 해결하겠네요 ^^ 문제를 물어보는 것도 커뮤니케이션 능력이지만 상황을 정확히 인식하는 것도 능력입니다. 전 면접자들이 실력이 있고 없고를 떠나서 테스트 자체가 잘못되었다고 말하고 있고 대다수 분들도 같은 주장을 하고 있는데 그게 개발자 기본 소양이니 마인드 따질 문제인가요?문제 1+1을 풀어보세요 한명만 뽑아서 추천드리겠습니다. 코딩테스트에서 이딴 개소리를 하면 정상적인 인간이라면 이 문제를 출제한 사람의 의도가 무엇이냐를 더 고민할거 같은데요? 대기업 인적성으로 2시간하신거라면 죄송합니다. ^^ 대기업 아닌 이상 윗에 어느분 말씀처럼 테스트 방식자체를 바꾸시는걸 추천드립니다.

    0
  • 달옹
    34
    2019-07-24 22:16:56

    기업 입장에서, 그리고 같이 일을할 사람을 찾고 있는 면접관 입장에서 확률 싸움을 할 필요가 있을까요? 

    개발 잘 하는 사람이 알고리즘을 못 할 수는 있지만, 알고리즘 잘 하는 사람 중에 개발 못 하는 사람은 못 봤거든요.

    -1
  • 초무쿤
    2k
    2019-07-24 23:18:34 작성 2019-07-24 23:21:48 수정됨

    //스타 

    낚이신 거 같습니다만.... 도대체 어떤 개발직무인지 사뭇 궁금하군요.

    면접때 알고리즘 열라 풀고..들어가서 쇼핑몰개발하는건 아닌지. 모르겠네요.

    0
  • mer
    95
    2019-07-25 00:51:40 작성 2019-07-25 01:13:03 수정됨

    //


    논제랑 전혀 상관 없는 얘기지만 재귀로 짜면 가산을 준다는건

    재귀를 이해하고 더 나은 풀이를 제공했을때 얘기겠죠?


    점화식을 그대로 코드로 옮기는것이 최종 솔루션이 되서는 곤란하다 생각하구요

    (대부분에 상황에서 면접자가 언급을 할테고, 그대로 제출 했다면 면접관이 다른 풀이를 유도할 것 같습니다)

    그럼에도 재귀를 언급 했다는 것은 더 나은 풀이가 있다는 힌트가 될 것 같습니다


    학부에서 분할정복이라는 알고리즘을 배우는데 피보나치도 이것의 한 예시죠

    일반적인 반복은 O(N)에 해를 구하지만 분할정복으로 접근하면 O(logN)에 해를 구할 수 있습니다

    위에서 많은 분이 이야기하신 실무에 그다지 도움이 되지는 않지만 신입에게 유리한 측면이 이런 것이라 생각합니다


    물론 같은 동작을 반복으로도 작성할 수 있지만

    분할정복의 성질이 재귀와 관련이 깊다보니 재귀쪽 풀이가 좀 더 직관적인건 어쩔 수 없습니다

    function mult2x2(A, B) {
      const C = [[0, 0], [0, 0]];
    
      for (let i = 0; i < 2; ++i) {
        for (let j = 0; j < 2; ++j) {
          let sum = 0;
          for (let k = 0; k < 2; ++k) sum += A[i][k] * B[k][j];
    
          C[i][j] = sum;
        }
      }
    
      return C;
    }
    
    function pow2x2(A, n) {
      if (n == 0) return [[1, 0], [0, 1]];
      if (n == 1) return A;
    
      const m = ~~(n / 2); // int div
      const Am = pow2x2(A, m);
      const Anfloor = mult2x2(Am, Am);
    
      return n % 2 ? mult2x2(Anfloor, A) : Anfloor;
    }
    
    function fib(n) {
      const A = [[1, 1], [1, 0]];
      const An = pow2x2(A, n);
      return An[1][0];
    }

    코드를 즉석에서 완성하는 것은 기대하지도 않지만

    분할정복을 알고 있고 반복하는 방식보다 더 나은 풀이가 될 수 있다는 것을 "언급"만 하더라도

    그 면접자에 대해서는 더 이상 알고리즘에 대한 검증이 필요 없고 바로 실무 관련 질문을 해도 충분하다 생각합니다



    정리하자면

    - 재귀로 풀면 가산점을 주겠다 하신 분에 대한 쉴드

    - 실제로 신입에게 유리한 측면이 어느정도 있음

    - 잘하면 좋지만 최소한의 풀이로 충분 (바보 거르기)

    - 코드보다는 원리가 중요

    1
  • redsome
    5
    2019-07-25 01:03:08
    시간을 빼앗은 점 죄송하게 생각합니다.

    면접 내용을 들었을 때, 알고리즘 소양이 부족한 걸알고 포기하려 했지만, 면접 준비과정과 경험이 도움이 될 거 같아 참석하였습니다.

    일주일간의 시간 동안 안내주신 범위인 문자열과 배열, 알고리즘, 정렬, 자료구조, 그래프, 재귀함수, 시스템 설계, 운영체제 관련 개념들과 문제를 풀면서 준비하였고, 결과는 적어주신 대로 아무것도 못 하였죠

    면접관들 앞에서 A4용지에 코딩을 하는 상황이 많이 어려웠습니다. 집에서 IDE 툴을 이용해서 풀 때처럼 문제를 해결하려는 집중력이 나오지 않았습니다.
    어떤 핑계를 대봐도 결국은 저의 능력과 지식이 부족한거지만요.

    저로서는 이번 면접을 계기로 많은 생각이 들었고, 감사하게 생각하고 있습니다.





    3
  • LimeDoo
    552
    2019-07-25 08:58:42
    근데 다시 한번 봐도 도대체 무슨 업무일까 궁금하네요....코딩실력도 알고리즘 파악하는 능력도 중요하겠지만 업무도 그 이상 중요한데 말이죠....(제 기준입니다.) 저는 업무를 모르면 할 수 없는 일을 하느라....업무 파악하는데 몇달 째 고생중입니다....암튼 참 궁금합니다.
    0
  • 김모씨
    2k
    2019-07-25 09:51:46

    지금일하는데는 .. 2004년부터 필요할때마다 톰캣으로 서버 하나씩 만들어서 지금은 서버만 11개가 돌아가 고 있습니다. 종류도 가우스부터.. preperdStatement.. 도 있고.. 

    여기서 중요한건머  서버끼리 충돌안나고 데이터들 옮겨다닐수 있게 하는거죠모. 

    어쩌면 야구같은거죠. 포수,투수,1루수,유격수 원하는게 틀리고 전문분야가 틀립니다. 

    주력이 좋으면 좋은 유격수가 될 소질은 있는데 좋은 포수가 될 소질이라보긴 힘들고. 

    하지만 주력 좋고 타력 좋지만 160던지는 투수는 그런거 씹어먹고. 

    기본은 중요하지만  그걸로만 평가하긴 힘든게 프로들의 세계.

    0
  • 답정너심판자
    879
    2019-07-25 10:53:43
    알고리즘 보다 실무를 봐야한다고 주장하시는분들이 많은거 같은데, 구글은 왜 알고리즘 시험에 공을 들일까요? 그것도 한두번이 아닌 서너번씩이나...

    실무 당연히 중요하죠.
    기초적인 알고리즘? 당연히 중요합니다.
    문제 해결능력이랑 직접적인 연관이 있는건데, 왜 안중요하겠습니까

    기초적인 알고리즘을 적용해보지도, 잘 모르시는 분들은 오픈소스, 프레임워크만 이용하는거에만 익숙한겁니다. 비꼬는게 아니라, 그런 이용능력도 충분히 가치 있지만, 알고리즘은 님들이 생각하는거보다 충분히 많이 쓰이며 그것을 시험보는 회사가 잘못됬다고 주장하면 안되는거 같습니다.

    꼬우면, 시험 안보고 안가면 되는겁니다.
    0
  • 하오바오
    93
    2019-07-25 11:17:23

    댓글들 보면 코딩테스트 하는 유명하거나 유력한 회사들은 자의반 타의반으로 대부분 거르실 듯 싶네요. 스타트업들도 코딩테스트 꽤 보던데.. 그리고 애초에 구구단도 구현하기 힘든 정도의 구현능력으로 실무 개발은 끝내주는 훌륭한 개발자가 있기는 할 지..

    그리고 기초 구현 능력을 알아보기 위한 피보나치 문제에 수학과 알고리즘이 어디있나요? 그 자리에서 10-20초면 구현 가능한데.. 알고리즘을 달달 외울 부분이 존재하긴 한가요? 많은 댓글에서 언급된 것 처럼 외운 지식을 활용하지 않고서는 구현이 불가능한지.. 전 진심으로 그게 궁금해지네요. matrix exponentiation이나 binet fomula 알고리즘을 물어보는 것도 아닐텐데..

     * fib(0) = 0, fib(1) = 1, fib(n) = fib(n-1) + fib(n-2). n >= 0 일 때 fib함수를 구현하세요. 


    코딩테스트는 회사마다 각각의 방식이 있겠죠. 시험관이 동석하는 방식이면 아마도 이런식으로 진행할 수 있겠죠

    iterative 방식으로 풀면 재귀로 가능한지도 물어보고 stack overflow 나면 memoization으로 해결 가능한지도 물어보고, tail recursion형태로 어떻게 해야하는지도 묻고.. recursion이 아니라 generator로 구현할 수 있는지도 보고, lazy로도 가능한지도 확인하고 lazy stream과 표준함수로 간단히 구현할 수 있는지도 보고, 상태를 내장한 lambda 반복 호출로 구현할 수 있는 지도 보고 coroutine을 사용할 수 있는지도 살펴보고, etc

    옆에서 힌트를 주고 대화하면서 기초 구현능력과 여러가지를 알아보겠죠. 이렇게 기본을 알아보기 위한 쉬운 기초 문제와 실제적인 구현문제 2-3개로 코딩 테스트에서 거른 뒤.. 면접에서 직무 기술, 설계, 아키텍처, 기술 관심도, 경력, 인성을 물어나가는게 정상적인 채용흐름이죠

    가장 괜찮은 분을 동료로 삼고자 하는 채용시험에서 이제 막 while문만 배운 학생들도 곧잘 구현가능한 걸 학부, 직장 생활 몇년하고도 나이브한 구현도 불가능해서 아예 코딩 테스트 진행 조차 불가능한 걸 알면서도 "수학과 알고리즘을 달달 외워야 하는 부분이니까 상관없어요"라면서 면접을 진행하고 싶은 생각이 들 지 전 솔직히그게 더 의문입니다

    1
  • 김모씨
    2k
    2019-07-25 16:43:55

    아예 코딩테스트 불가능한...

    같은 사람이 입만으로 합격하는게 좀 드문예이고.

    그런사람은 당연히 못쓰죠. 

    유명한 그으런 회사는 유명한 금액과 대우 커리어가 있으니 그런거부터 하는거고.

    보통 우리가 들어갈 회사들에서는 기본적인 코딩실력이 있다는 가정하에+ 업무대처능력(+진도) 를 봅니다.

    구글에서 파보나치 태보나치 3번 테스트 해도 그려려니 합니다 . 삼성앱연구소에서 그러면 그러쿤 하는거죠. 

    가장 괜찮을 분을 뽑는게 아닌 가장 문제없을 만한 사람을 뽑는게 여기 일자리 나오는곳들의 원츄라고 봅니다. 

    코딩테스트를 통과못함 =  기본능력도 안되는 개발자 로 보시는게 문제라고보임.

    여기분들은 특정 코딩테스트를 통과못해도 충분히 개발가능한게 개발자로 보는거고.

    위글쓴이와 찬성댓글러들은 코딩테스트 통과못함 =  입만살은 개발안되는개발자로 보는겁니다. 

    저는 충분히 개발가능하다 생각하는 쪽이고요.  저한테 파보나치 만드셈 하고 던지면 그게 멍..??!?.

    그러고 코딩테스트 실패하겠죠.  근데 si하다가  재작년 재고랑 작년재고를 더해서 올해 예상재고를 만들고 옆에 실재재고를 등록할수 있는 프로그램을 만드시고 3년마다 누적합 및 표준편차 내주세요 . 하면. 네. 그러죠.  하고 인터넷 몇개 검색해서 짤수 있을거 같아요. 

    그런 시각차같아요. .  그런 통빱이 안통하는 걸음마 로봇만드는데는 그런 테스트 필요하겠죠. .

    올스타 뽑기 쉽지 않다고 생각해요. 몸값도 비싸고. 



    1
  • ISA
    805
    2019-07-25 19:23:50 작성 2019-07-25 19:24:45 수정됨

    하오바오 //

    실제로 면접이 어떻게 진행되었는지 정확히 나오지 않지만 일반적인 경우는 알고리즘 테스트한다면서 쉬운문제 던져주고 그걸 혼자풀게합니다. 그런식으로 면접을 보지도 않고요. 저 경우도 자세히 알려진 내용이 없지만 글쓴이글만 보고 판단해도 그렇게 진행했을거 같지 않습니다. 그랬다면 피보나치 정도 되는걸 분석과 작성조차 못했다고 했을까요? 2시간동안? 일반적인 상식으로 특수한 이유가 없으면 그럴리도 없겠죠. 지문 내용 예상해보자면 1.피보나치 수열을 푸는 알고리즘을 작성해보시오. 이런 내용 이였을거라 생각합니다. 그런걸로 대체 뭘 평가하겠다는 걸까요? 밑에 면접자라 주장하시는 분 말로는 손코딩으로 동석해서 했다는거 같은데 그런 여러가지 점을 보는 면접이였으면 설마 2시간동안 피보나치 하나를 분석과 작성도 못했을까요? 그럴 수 있지만 그럴리가 적은게 현실입니다. 왠만큼 큰기업도 비슷했으니 (물론 그런 기업은 인적성을 더 중요시 했습니다.) 솔직히 그렇게 좋은 기업은 아니라고 판단되고 사실 저걸 푼다해서 무슨 의미가 있을까요 사실 저런거 받으면 제 성격으로는 들러리로 온건가 얘네가 뭔생각하는거지 뭘 원하지 더 고민했을거 같고 실제로 그런거 생각하는데 시간 다 보냈습니다. (코딩테스트 100점이 입사 확정이라한다면 그 문제 분별력이 100명중 99명이 100점 맞는다 가정하면 무슨 생각이 드실까요?)

    0
  • tkyhost
    6
    2019-07-25 22:12:07 작성 2019-07-25 22:12:26 수정됨

    ISA // 댓글 쭉 보다가 어이가 없어서 가입했습니다. 

    쓸데없는 걸로 트집 잡지마세요.

    글쓴이는 분명 알고리즘을 보겠다 명시했고 쉬운 문제를 냈으며 시험자는 와서 2시간동안 아무것도 못하고 간겁니다.

    당신이 난이도가 어쩌니 저쩌니 왈가왈부할게 아닙니다

    -2
  • ISA
    805
    2019-07-25 22:28:37 작성 2019-07-25 22:29:35 수정됨

    Host//

    당신이나 왈가왈부하지마세요. 알고리즘푼다 명시했고 2시간 가까이 함수 하나 작성 분석 못했다는 사람이 각종 자격증이니 경력쌓은게 신기하다는 글이고 그 정도 실력도 없다고 비난하는 내용인데 무슨 쓸데없는 트집이죠?


     개발자를  a-b같은 함수 하나로 평가하려고 하는 태도 자체가 잘못되었다는 글이 쓸데 없는 트집으로 보이나요? 제가 당신 댓글 하나로 당신 능력을 평가하면 그게 합당한가요? 테스트를 할거면 적합하고 유의미하게 진행하라는게 트집이면 ㅎㅎ

    1
  • tkyhost
    6
    2019-07-25 22:35:03

    ISA // 네. 신기할 일입니다.

    0
  • ISA
    805
    2019-07-25 22:54:18
    Host//
    많이 신기해하세요. 저라면 경력 5년차 이상이 간단한 알고리즘 하나 2시간 동안 분석도 못했다는 평을 들으려면 어떤 상황일지 경우의 수가 먼저 떠오르는데 (상식적으로 일반적인 경우는 아니니) 그걸 보고 어떤 문제가 있다는 생각이 안드는 사람들이 더 신기합니다. 심지어 한 두명도 아닌거 같은데 주어진 정보를 토대로 분석하고 상황을 추상화 시키는 건 기본이라 생각했는데 그거 조차 안되시는 분들이 많이 보이네요. 세상에 이유없이 발생하는 일은 없습니다 엄밀히 말하면 이유는 원인이고 원인 없는 결과는 세상과 단절된 것을 의미하죠(이 세상의 것이 아니란 소리) 문제 해결 능력이란 문제를 파악하고 그걸 구조화 한 이후에나 ^^ 여러가지 보이는게 많지만 전 그냥 이제 조용하렵니다
    0
  • tkyhost
    6
    2019-07-25 23:16:38 작성 2019-07-25 23:18:21 수정됨

    ISA // 알고리즘 면접 보는 곳에서 중학교 때 배우는 피보나치 수열을 함수로 작성, 설명하라는 문젠데 모른다면 경력이고 신입이고를 떠나 기본 예의도 갖추지 않은 사람입니다.

    알고리즘 면접 보는 곳에서 기초 알고리즘을 물어보는데 허둥지둥하면 뭘 물어보고 경력에 뭘 믿으라는겁니까?

    0
  • ISA
    805
    2019-07-25 23:27:42
    화이팅 아이디 바꿔오실 이유는 없으실텐데 아 그리고 제가 트집잡는다고 느꼈다면 글 내용 잘읽어 보세요 여러명이 피보나치도 모른다 2시간동안 못푸는 사람들이 잘도 경력으로 스펙쌓고 자격증 쌓았다! 그런 실력으로 왜 면접을 보러오냐! 마찬가지로 경력 n년차한테 그걸 묻는 것도 예의는 아닌거같네요. 저런 글보면 나오는 반응은 일반적으로 정해져있습니다. 전 관계없는 상황이라 정확한 상황은 모르지만 짐작가는게 너무 많네요 예의 운운하기엔 서로간의 예의가 없는 것 같지만...? 
    0
  • ISA
    805
    2019-07-25 23:30:23

    아 혹시 저만 "자료형을 아시나요?"라는 질문이 욕하는걸 로 들리는건가요 그냥 비아냥되는 느낌인지라 

    0
  • tkyhost
    6
    2019-07-25 23:43:52
    저는 글쓴이가 아닙니다만...? 그렇게 생각하시려면 하시죠.

    0
  • ISA
    805
    2019-07-26 06:28:39

    Host 네 제가 의심이 많은지라 뜬금없이 새 아이디로 비슷한 말투로 제 댓글에 댓글을 달아주실때 부터 의심이 갔는데 솔직히 본인이거나 관련인이라고 봅니다만 마치 면접에 참여했던거 처럼 허둥지둥한 사람에게 뭐를 묻냐라고 하시는 내용에서 더욱 그런거 같습니다 아니라면 그냥 그런가 보다 하십시오.  일반적으로 사람이 직접보지 않은걸 잘 형용하지 않습니다. 생각도 그렇게 안하거든요. (본적도 없는 사람이 허둥지둥 하는지 땀을 흘리는지 빡치는지) 솔직히 제 생각이 님 입장에서 중요하지 않지 않습니까? 저도 그렇고 ㅎㅎ 전 솔직히 자기가 면접자라 주장하시는 분도 자작 일 수 있다 보는데 제가 알아야 할 내용은 아니고 화이팅

    0
  • 어쩌다
    5k
    2019-07-26 13:55:37

    이햐 14년차 개발자입니다


    피보나치 몰라서 다시 검색해 보았네요...ㅎㅎ


    저도 실력이 없는건가요..?


    최대 공약수 알고리즘 문제가 나왔었는대

    최대공약수가 뭐였지..? ㅎㅎ


    참고로 어릴떄 산수 수학 무지 잘했습니다 입상도 많이하고..


    전 실력없는 개발자 였군요..ㅠㅠ 제 밑에 개발자들에게 갑자기 미안해지네요

    2
  • 무명소졸
    5k
    2019-07-26 14:46:08

    케케묵은 논쟁거리 또 올라왔네;;

    2
  • youngyoung
    494
    2019-07-26 14:51:55

    피보나치로 정도로 해메면..답이 없네요.

    자료구조 요즘엔 안배우나...

    개발때야 정작 까먹어서 그렇다고 해도

    더구나 면접에서 모른다 하면 ..

    답답해하는 글쓴이가 눈에 보이네요..

    0
  • 수묵화
    41
    2019-07-31 03:06:30

    이게 ... 알고리즘이 뭐 대단한것도 아니고 그냥 어떤 문제를 해결하기위한 정규화된 식이라고 생각됩니다. ㅎㅎㅎ

    어떤 문제를 주어지고 이를 코드로 표현해봐라 라는 식의 문제를 내신거 같은데 ...

    이 과정의 문제 해결능력이랑 코드 표현능력 등등 여러면을 볼수 있는 좋은 방법이라고 생각합니다 ㅎ

    면접단계 전에 코드빌리티 도입도 좋은 해결책이네요 ...

    요새 개발이 편해지고 단말 성능이 좋아져서 최적화할 필요가 없어져서 그런가 댓글들이 예민하네요 ㅎㅎ

    0
  • 지붕뚫고높이차
    656
    2019-08-12 16:31:24

    기술사 출제위원이

    오키사이트 자주 들어오시는가봐요.

    119회 컴퓨터시스템응용 2교시형 문제로 출제되었습니다. ㅎㅎㅎ

    -------------------------------------------------------------------------------------------

    1. 피보나치 수 Fn은 다음과 같은 규칙으로 정의된다. F0=0, F1=1, ..., Fn=Fn-1+Fn-2. 피보나치 수를 재귀함수를 이용하여 의사코드(Pseudo Code) 또는 임의의 프로그래밍 언어로 구현하고, 재귀함수보다 효율적으로 동작시키기 위한 기법을 제시하시오.

    0
  • exexexe
    169
    2019-08-19 14:38:12

    진짜 실력자들이...

    이런거 묻는 회사를 얼마나 속으로 비웃었을까나....ㅎㅎ

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.