2010년 7월 28일 수요일

게임개발자 북미취업 가이드 3편: 취업을 위한 필수/선택요건 - 면접절차

    안녕하세요.  포프입니다. 이제서야 좀 본격적인 내용으로 들어가게 되서 다행이고 그동안 기다려 주셔서 고맙습니다. ^^ 이번 편을 읽으실 때 아래의 교훈(?)을 반드시 기억하시기 바랍니다. 이것이 이 편의 중심 주제입니다.

    성공하는 유일한 방법은 중요한 소수의 것에 한정된 자원(시간, 돈, 노력 등)을 집중적으로 쏟아붇는 것입니다.

    누구 말을 인용한 것이 아니라 제 스스로의 생각을 담은 것입니다. 북미에 게임개발자로서 취업을 하기위해 갖춰야 할 요건들이 꽤 됩니다. 하지만 그 많은 요건들이 모두 다 동일하게 중요하진 않습니다. 따라서 정말 중요한 것에 집중하는 대신, 모든 요건 전부를 대충 수박 겉핥듯이 갖추려고 하면 절대 성공하지 못합니다. 언제나 중요한 요건을 갖추기 위해 최대한의 노력/시간/돈/인생을 투자하시고 나머지 것은 대충 중간정도만 맞추시길 바랍니다.

    그렇다면 북미에서 취업을 할 수 있을 정도의 훌륭한 개발자가 되려면 어떤 요건들을 갖춰야 할까요? 우선 북미의 면접(interview) 절차에 대해 알아보도록 하죠. 각 면접 단계에서 어떤 요건/자질 등이 중요한지를 알면 전체적으로 어떤 요건들을 준비해야하는지가 보이거든요. ^^

    (일반적인)북미 게임개발자 면접절차
    위에서도 말씀드렸듯이 면접절차를 알면 뭘 준비해야할지가 보입니다. 일반적이라고 써드린 이유는 회사따라 기술면접 및 대인면접의 횟수나 시간이 조금씩 다르기 때문인데 뭐 그래도 아주 큰 차이는 없습니다. 그럼, 더이상 딱히 뭔가 멋지게 소개를 드릴 방법이 없으니 곧바로 본론으로 들어가죠. -_-;;;;

    1. 구인공고를 읽은 뒤 지원
    간단합니다. 일단 구인공고를 찾습니다. 구인공고가 한군데에 전부 나오는 곳은 가마수트라 구인공고란 외에는 딱히 아는 바가 없고 여기에 올라오지 않는 구인공고도 많습니다. 보통은 각 회사의 웹사이트에 직접 가시면 구인공고가 거기에 올라있습니다. (참고로 대규모 공채따윈 없습니다. 실력따라 뽑는 시스템에선 대규모 공채가 존재하기 어렵습니다.) 따라서 각 회사의 웹사이트를 방문하시고 거기서 일자리를 찾아서 지원하시면 됩니다. 북미 게임회사의 목록은 "2편: 북미 게임개발 근무환경/취업시장"에서 이미 소개드렸습니다. 지원은 보통 이메일이나 웹폼으로 합니다.

    이 단계에서 요구되는 자질은 '끈기'와 '노력'밖에 없습니다.

    2. 인사부(HR)의 추리기(Screening) 절차
    대규모 공채가 아니라 특정한 위치 하나에 지원을 하는거라 그만큼 경쟁률도 언제나 높습니다. 따라서 제일 첫번째 절차는 인사부 직원이 지원자들의 이력서를 읽으면서 그 중 면접을 할 사람을 골라내는 것입니다. 참고로 인사부 직원은 게임개발에 대해서는 쥐뿔도 모르는 사람들이므로(-_-) 그 사람들이 봤을때 '오! 이 지원자는 실력이 있어보이는데?'라는 느낌이 들 정도의 이력서를 내야 합니다. (참고로 여기의 이력서는 한국처럼 정형화된 서식이 아닙니다. 자세한건 '4편: 실전 가이드'에서 다룹니다.)

    따라서 이 절차를 통과하려면 옆집 아주머니 같은 분들에게 실력을 뽑낼만한 무언가가 필요합니다. 즉 '실력을 보여줄 방법'이 필요합니다. 경력자시라면 '경력' 및 '출시한 게임목록'이 당연히 도움이 되겠고, 딱히 경력이 없다면 '개인 프로젝트로 만든 게임'도 도움이 됩니다. 또한 '컴퓨터학과를 나왔다는 증명'도 도움이 될 수도 있습니다. (될 수도 있다고 한건 워낙 아시아권의 대학교육이 개판인게 많이 뽀록이 난 판이라... 별로 신뢰를 안두는 회사들이 꽤 생겼습니다.)

    만약에 실력을 증명할 방법이 아무것도 없다면... 여기서 걸려나가실 겁니다. 최소한 개인 프로젝트라도 하셔서 포트폴리오라도 구축하세요. (이에 대한 자세한 사항은 다시한번 '4편: 실전 가이드'에서 다룹니다.)

    3. 인사부 직원과의 전화면접
    인사부직원과의 추리기 절차를 통과하셨다면 가장 큰 골칫거리를 통과하신 겁니다. 사실 인사부 직원들은 게임개발에 대해 아는 게 별로 없으므로 이 사람들 통과하는게 가장 난해합니다.  힘든게 아니라 난해하죠. -_-;;; 본인이 가진 실력을 직접 보여줄 방법이 없으니까요. 어쨌든 추리기 절차를 통과하셨다면 아마 요 밑의 단계들을 거의 전부다 거치는 경우가 더 많을 겁니다. (중간에 엄청 개판치시지 않는한 말이죠..-_-;;;)

    인사부 직원이 이메일을 보내서 언제언제 전화면접을 하자고 약속을 잡고, 그 시간되면 지네들이 전화합니다.(국제전화비 걱정마시길 -_-;;) 시간은 15분에서 30분 정도 걸립겁니다. 인사부 직원들이 전화면접에서 보는건 두가지입니다.

    a) 이력서를 다 진실되게 썼는가? - 이력서에 열거한 내용들을 하나씩 물어보며 그 때 한 일(혹은 공부한 것)에 대해 좀 더 자세히 물어봅니다. 그냥 솔직하게 말씀하시면 됩니다. (여기선 거짓말 했다가 들키면 매장이라고 생각하셔도 됩니다. -_-)

    b) 인성이 어떤가? - 몇가지 질문을 통해 지원자의 인성이 어떤지 대충 알아보려 합니다. 완전히 지 혼자 잘나고 매우 거만한 사람들만 아니면 무사할 겁니다. 이 때 보통 묻는 질문들은 "전에 있던 프로젝트에서 어떤 문제가 있었냐? 그럴 땐 어떻게 해결했냐? 다음엔 어떻게 해결할 거냐?", "본인의 장점이 무엇이라 생각하나?", "본인의 단점이 무엇인라 생각하나?" 등입니다. 역시 별로 크게 문제될 질문 내용은 아닐듯 합니다.

    따라서 이 과정에서 정말 중요한 자질은 '인성'외에는 없습니다. 저는 인성도 실력(skills)중에 하나라고 생각합니다. 게임개발자가 되려면 프로그래머라면 기술적인 실력(technical skills), 기획자라면 창의적인 실력(creative skills), 그리고 아티스트라면 예술적인 실력(artistic skills)이 있어야 하지만 이 외에도 모든 개발자들은 대인관계 실력(people skills)가 필요합니다.  따라서 '인성'도 '실력'으로 보겠습니다.

    4. 개발자들과의 전화면접
    인사부와의 전화면접이 큰 무리 없이 끝났다면 또 다른 날에 전화면접 예약을 잡고, 그 날에 그 회사에 근무하는 개발자 2명 정도가 전화를 줄 것입니다. 이 면접에서도 역시 이력서에 쓴 내용을 중심으로 이전 경력(또는 학교공부)에 대해 짧게 논한 뒤에,  주로 기술적인 내용들을 많이 물어보지만 전화상으로 면접을 보는지라 아주 구체적인 내용을 묻기보다는 전반적인 이해도를 묻습니다. 일반적으로 묻는 질문들은 "추상 함수가 무엇인가?", "행렬의 용도는 무엇인가?", "쿼터니언을 왜 쓰는가?" 등의 질문입니다. 이 면접은 보통 1시간 정도 될 겁니다.

    이 단계에서 중요한 것은 무엇일까요? 당연 '실력'이죠. 다른 것 없습니다.

    5. 개발자들과의 대인면접
    개발자와의 전화면접까지 통과하셨다면 이제 대인면접을 봅니다. 비행기값 100~200만원 별거 아니니까 그냥 내시고 날라오시면 됩니다. -_-;;;;..........는 농담이고 ^^.... 해외에 있는 개발자들을 구인할려고 맘 먹은 회사정도 되면 비행기값/숙박비 정도는 다 제공합니다. 그리고 회사 입장에서도 이 정도 돈을 내고 사람불러다 면접 볼 정도면 이미 채용할 생각을 많이 하고 있단거죠. 따라서 그냥 떨지 마시고 담담하게 면접 보시면 됩니다.

    보통 하루에 개발자들 2명씩 2번이나 3번(총 4명~6명) 면접을 볼 텐데요. 각 면접은 1시간 정도 됩니다(총 2~3시간). 당연히 처음에 다시 이력서에 쓴 내용들에 대해 좀 더 자세히 짧게 물어보고, 곧바로 화이트보드 테스트(칠판 테스트요 -_-)를 합니다. 즉 면접관들이 "이런~ 이런~ 코딩을 해봐라." 라고 하면 화이트보드에 마커로 코딩을 합니다. 따라서 좀 어설픈 프로그래머들은 이거 통과하기 어렵습니다. ^^ 주로 물어보는 주제는 다음과 같죠.

    • C관련
      • 포인터
      • 비트 연산자
    • C++관련
      • virtual 키워드의 의미
      • 다형성(polymorphism)
      • 상속
      • 추상 클래스(abstract class)
      • static 키워드의 의미
      • const 키워드의 의미
      • 포인터와  reference의 차이
      • malloc/free와 new/delete의 차이
    • 일반
      • 2진수 다루기
      • 일반적인 논리력
    • 기타 해당직에 관련된 질문들

    한마디로 C/C++ 프로그래머라면 반드시 기초로 집고 넘어가야한다고 무수히 강조하는 내용들입니다. 기초가 안되면 좀 프로그래머 하시기 어렵습니다. ^^

    아, 참고로 모르시는 질문이 나오더라도 당황하지 마세요. 이 면접관들이 보는 것은 문제를 푸는 과정입니다. 따라서 면접관들에게 힌트를 좀 달라고 해도 되고, 확실하지 않은게 있다면 면접관들에게 물어보면서 문제를 풀면 됩니다. 그리고 문제를 푼 뒤에도 면접관들과 대화를 하면서 좀더 최적화된 방법을 찾거나 하게 됩니다.

    실제 질문 예들은 이 글의 마지막에 실고 보시는 분들 풀어보라고 시키겠습니다 -_-+;

    6. (추천인 체크)와 채용
    대인면접도 무사히 끝났다면 추천인(reference)들 목록을 달라 하기도 할 수도 있고 안할수도 있습니다. 매우 형식적인 절차라고 보셔도 되는데요. 그냥 현재나 과거직장동료, 친한 친구, 선생님 등등을 한 3명정도 보내면 됩니다. 그냥 '이 인간 믿을만한 인간이요?', '당신이 나라면 이 인간 채용하겠소?'라는 정도 질문입니다. 따라서 철천지 원수나, 예전에 칼부림 내고 헤어진 애인 등은 절대 추천인으로 쓰지 마시길 -_-;

    뭐 추천인 체크도 끝났다면(아니면 아예 체크조차 안했다면 곧바로) 채용계약서가 이메일로 날라올겁니다. 연봉 얼마에 언제부터 시작하고 등등, 여기에 적힌 모든 내용은 협상이 가능합니다. 시작날짜는 매우 유동적일거고, 연봉은 그보단 덜하겠지만 협상하면 더 받으실 수도 있습니다. 뭐 협상 안하셔도 한국에서 받는것보단 훨씬 많을 테지만 그래도 시작 연봉에 따라 나중에 연봉인상도 좌우되니 적당히 협상하세요. ^^

    7. 그 외 잡다한 것들
    이제는 오셔서 일하시기 위해 한국정리좀 하시고, 회사에서는 주는 서류 받아다 취업비자 신청하고 기타 등등 입니다. 뭐든간에 궁금한게 있으시면 회사나 미영사관/캐나다 영사관 등에 물어보면 다 하실 수 있을 겁니다. 저는 대학졸업한 뒤에야 먼저 와있던 가족따라 이민온 뒤에 취업한 뒤라 이 부분에 대해서는 잘 모릅니다. 그냥 그렇게 취업비자 받아서 온 한국, 영국, 콜럼비아 분들 몇 분 알 뿐입니다.

    비자 문제는 면접 통과하는 거에 비하면 그다지 어려운 일이 아닙니다.

    취업을 위해 갖춰야할 필수요건 / 선택요건
    위에서 면접절차를 설명드리면서 갖춰야할 이런 저런 자질들을 말씀드렸습니다. 그럼 이 자질들을 중요한 순서대로 나열해보겠습니다. 목록의 위에 있을수록 필수요건이고 아래쪽에 있을수록 선택요건입니다. 처음에도 말씀드렸듯이 중요한 요건(즉 위에 있는 것들)에 집중적으로 자원을 투자하셔야 합니다!!

    1. 실력
    실력이 없으면 운좋게 인사부 면접 통과해도 채용까지 가지 못합니다. 쓸데없이 인사부랑 면접보느라 시간만 낭비하실 겁니다. 따라서 실력이 우선입니다. 며칠전에 실력이 어느정도나 되야 하냐고 물어오신 분이 계셨습니다. 제가 위에서 열거한 대인면접 질문주제들을 빠삭하게 아실 정도면 아무 문제 없습니다. 그리고 아래에 제가 나열할 프로그래밍 질문들을 (어디서 배껴오지 않으시고) 풀 실력정도 되시면 역시 걱정 없습니다. ^^

    위에서도 잠시 말씀드렸듯이 경력이 없으신 분들은 인사부직원을 설득시킬 수 있을 방도를 준비해두시기 바랍니다. 개인 프로젝트를 통한 포트폴리오 구축이 와따입니다.

    이 외에도 대인관계 실력(people skill)이 있습니다. 일반 개발자로서는 중요한건 다른 개발자분들 존중하고 그 분들과 팀을 구축해서 일하기에 모나지 않은 사람입니다.즉 팀플레이어죠. 근데 누구나 개나소나 팀플레이어라고 우깁니다. 진정한 팀플레이어는 남을 존중해야만 가능합니다. 다른 사람들이 하는 일에 마찰을 일으키지 않기 위해서 뒤찜지고 있는 사람은 팀플레이어가 아니고, 다른 사람 하자는대로 아무 말없이 좇아가는 사람도 팀플레이어 아닙니다. '너는 나이가 어리니까', '넌 아는게 없으니까'라면서 무시하고 자기맘대로 하는 인간도 팀플레이어는 아닙니다. 팀플레이어는 건설적은 토론을 통해 게임개발과정을 수월하게 만드는 사람입니다. 언제나 너무 추상적인 개념이라 개나소나 팀플레이어라고 우기긴 하지만요. -_-

    2. 경력
    경력만큼 인사부에게 실력을 증명하기 간편한 수단이 없습니다. 다른 회사에서 근무할 정도면 그만큼 실력이 있을거라고 믿어주는 거죠. (결과적으로 문제는 인사부 직원들이 훌륭한 인재를 알아볼 실력이 없으니 대충 다른 회사의 인사부 직원들을 믿어보자는 속셈이죠 -_- 뭐 그래도 이 사람들을 통과해야 취업도 되니 저희가 굽히는 수밖에 ^^;;) 따라서 경력이 있으시면 훨씬 편할 겁니다. 제가 여러분들에게 권해드리는 방법도 한국에서 최소한 1~2년정도 경력을 쌓으시라는 거죠. 그리고 한국 게임회사에 취직이 안될정도의 실력이시라면 여기서는 더 어려울 거라고 생각합니다.

    또한 경력이 단순히 인사부를 속이기(?)에만 유용한게 아닙니다. 하지만 단지 게임을 오래 만들었다고 존경을 받아야 한다는 말은 아닙니다. (그런 거라면 저 게임계 당장 떠납니다.) 경력을 통해 쌓은 지혜(wisdom)는 정말 귀중합니다. 예를 들어 PS2 개발을 하셨던 분들이라면 PS3에서 하지 말아야 할 일 등 따위를 대략 느낌만으로도 아십니다. 따라서 쓸데없는데 시간 낭비하면서 소중한 개발비 날릴 가능성을 줄인다는거죠. 매우 값진 신내림이죠 -_-. 저만해도 Character Customization만 이미 3번 만들었는데, 실시간으로 DXT 텍스처를 생성하려면 어떤 짓을 하면 안되는지.. 아니면 어떤짓을 해야 하는지 등을 빠삭히 알고있죠. 그것도 PC, 엑박360, PS3등에서요. ^^

    3. 학력
    이거 학벌로 읽지 마시길 바랍니다. 사실 그놈의 학벌주의 때문에 한국대학교육 완전히 파탄났고, 그 때문에 졸업생들 자기들 전공에 전문가가 되기보다는 토익/토플에 전문가가 되는 상황이다보니... 아시아쪽 대학이름을 별로 믿어주지 않는 분위기입니다. -_-;;; 물론 전공에 대해서도 그런 편이고요. 그래도 없는 것보단 있는게 인사부를 통과하기가 조금은 편합니다. 학교이름보다는 전공이 중요합니다. 그리고 경력이 없으시다면 반드시 포트폴리오 준비하세요.

    4. 영어
    영어... 뒤에서 두번째에 나열했습니다. 놀라셨나요? 제가 1편, 2편 쓰고 가장 많이 들은 반응은 '전 영어를 못해서 힘들겠죠?'였습니다. 제발 좀... 깨어납시다. 한국분들 사실 영어 참 잘하십니다. 근데 영어 문법 하나만 틀려도 주변에서 '넌 영어를 왜그리 못하니?' 등등의 태클이 들어옵니다. 따라서 괜히 영어못하면 바보라는 자괴감만 들고 따라서 영어 잘못할까봐 피하게만 되고 무서워하고... 그래서 결국에 모든 일이 안되면 영어탓입니다.

    세상에 게임프로그래밍 하는데 영어쓸일이 얼마나 있습니까? 하루 8시간 일하면서 30분 영어쓰면 많이 쓰는 걸꺼 같은데요? 그 30분 영어하는거 아주 유창하게 못한다고 초천재 프로그래머 채용 안하겠습니까? 영어 몸짓발짓으로 그림그리면서 의사소통만 할 정도면 취직은 됩니다. 취직되면 살면서 자연히 늡니다. 저 고등학교때 수학성적은 올렸어도 영어성적은 올리는데 2년간 실패한 인간입니다. 대학때는 영어수업시간에서 선생이 발표준비하라는거 싫다고 했다가 대판 싸운 뒤 한번도 영어수업 안들어간 놈이구요. 고시준비하면서도 영어가 너무 싫어서 독어 했던 놈입니다. -_-;;; (그 뒤에 영어를 어떻게 했는지는 '5편: 실제 취업사례 - 포프'에서 말씀드리지요.) 영어는 닥치면 합니다.

    좀 더 현실적으로 말씀드리겠습니다. 이왕이면 다홍치마란 말이 있습니다. 만약 2명이 같은 자리에 지원을 했는데 2명의 실력/경력/학력(즉 위에서 1,2,3번)이 똑같으면 당연히 영어실력이 좋은 인간이 취업을 합니다. 이건 인종차별이 아닙니다. 본인이 한 회사의 사장이시더라도 똑같지 않으시겠어요? 따라서 언어의 벽을 넘어서 취업을 하시려면 영어는 몸짓발짓을 섞어가면서라도 의사소통이 될 정도로만 하시고 실력을 다른 지원자보다 높이기 위해 노력하셔야 합니다. 만약 2명이 지원을 했는데 한명은 실력/경력/학력이 훨 출중한데 영어가 딸리고 다른 한명은 실력/경력/학력이 딸리는데 영어가 출중하면 당연 실력/경력/학력이 출중하신 분이 취업합니다. 이건 정말 상식아닌가요?

    '나는 한국인이라 취업이 안돼.', '나는 본토인만큼 영어가 안되서 취업이 안돼.'라고 자위를 하면서 동정심이나 사고자 하시는 분들 많이 봤습니다. (특히 한인 이민자사회에 쌔고 쌨습니다.) 그리고 어쩌다 누가 한 명 백인회사(이렇게 표현하시더라구요?)에 취업하면 무슨 영웅보듯이 합니다. 아니, 베트남, 영국, 일본, 중국, 러시아, 폴란드, 콜럼비아 등  세계 모든 나라 사람들이 여기와서 취직하는데 왜 한국인은 안된다는게 말이나 됩니까? 저런 말들하시는 분들은 말그대로 자기가 못난거 인정할 자신조차 없고, 자기 발전시킬 노력도 하기 싫어하시는 게으르신 분들이니 제발 저런 분들이 하시는 말씀 무시하시기 바랍니다. 부탁드립니다.

    영어에 공포심을 느끼시는 분들이 너무 많고, 그것때문에 발목 잡히시는분들도 많으신거 같아서 별로 중요하지도 않은 영어에 대한 내용만 길어지고 있습니다. 하지만 이 내용을 더 길게 하기 위해(-_-;;;)제가 아는 다른 두 분의 이야기를 들려드리겠습니다.

    a) 캐나다에 놀러왔던 제 대학 후배: 여행을 매우 좋아하는 제 대학후배가 있습니다. 하지만 영어권보다는 이상한 개발도상국들을 많이 놀러다니는 친구입니다. 따라서 어느 한 언어를 딱히 공부하거나 연습할 기회가 없던 친구인데 제가 여기 온지 1년정도 되었을 때 놀러왔었습니다. 그 당시 저 스스로도 영어때문에 매우 주눅이 들어있었을 땐데 이친구... 사실 저를 매우 놀래켰죠. 이 친구 영어 정말 못하더군요. -_- 아주 심각할 정도로.... -_-;;;어디가서 물건 사는 것조차 힘든 친구였습니다. 근데 웃긴건 어딜 가든 길도 잘 물어서 척척 가고. 물건 찾는것도 물어봐서 척척 삽니다. 저보다 100배는 낳았습니다. 어떻게 하냐구요? 한영 전자사전을 들고다니면서 자기가 원하는 단어를 치고 그걸 발음합니다. 상대방이 못알아들으면 아예 보여줍니다. 이 친구 어느나라 가도 그렇게 살아남고 절대 부끄러워하지도 않습니다. "당연히 내 나라 언어가 아닌데 못하는게 당연한게 아냐?", "내가 돈주고 물건사겠다는데 내가 왕이지." (이걸 개발자에게 맞춰 바꾸면..."내가 지네 게임 만들어 주겠다는데 내가 왕이지."입니다.)  이런 자세 갖추시길 바랍니다. 가끔은 얼굴에 철판까셔도 됩니다. ^^

    b) EA에 취직하신 한국에서 오신분: 한국에서 고등학교 졸업하시자마자 경력 6년쯤 쌓으시고 EA 스포츠(캐나다에 있음)에 취직하신 분을 뵌적이 있습니다. 이 분도 영어 잘 못하셨습니다. 머물던 호텔에서도 영어 잘못이해해서 맨날 룸서비스시켜 드셔서 돈도 많이 내시고, 어디가서 뭐하실 때도 영어때문에 좀 시행착오를 거치시는거 많이 봤습니다. (심지어는 호텔에서 나갈 때도 영어를 이해를 못하셔서 여러번 물어보면 시간 꽤 끌었다는...^^) 그래도 몇년 째 일 잘하고 계십니다. 그리고 한동안 못뵈었지만 지금은 영어도 잘하시리라 생각합니다. (동료들 하고 어울리면서 늘어요.) 

    위의 이야기들이 힘이 되길 바래 봅니다. ^^ 영어는 그냥 쓰고 사셔야 늡니다.(한마디로 '영어공부 절대로 하지마라'라는 책에서 정찬용씨가 소개한 공부법이랄까요..) 그전엔 대충 못하셔도 상관없습니다. 영어에 쪽팔려하지 않고 대충이나마 연습하시고 싶으신분들은 저에게 영어로 트윗을 주시거나 답글을 영어로 남기셔도 됩니다. 저도 곧바로 영어로 답글합니다. -_-

    5. 인종
    뭐라 할말이 없습니다. -_-;;; 이걸 거론해야 하는 것 조차 참 어이없습니다. 하도 쓸데없이 '인종이 백인이 아니면 취업이 안된다.'라는 이야길 하면 자신의 허접함을 숨기시려는 분들이 많아서인데요 그런거 없습니다. 설사 있어도 한국의 인종차별에 비하면 아예 없다고 보셔도 됩니다. 무시합시다.


    마지막 몇마디
    이정도면 대충 이해하셨으리라 생각합니다. 실력 > 경력 > 학력 > 언어 > 인종 이라는 것을... 

    운이란 것은 없습니다. "운이 좋다"라는 말은 실력과 노력으로 뭔가를 이룬 멋진 사람들이 겸손한 척을 하기 위해 쓰는 말일 뿐입니다. 운이란 것은 없습니다. 단지 기회가 왔을 때 이미 준비가 되어있었던 사람들이 운을 만난 것처럼 보일 뿐입니다.


    그럼 프로그래머 면접문제 예제들을 드리면서 이 글을 마무리 짓겠습니다.

    프로그래머 면접문제들 예제
    당장 머리속에서 생각나는 면접문제들입니다. 친구분들하고 화이트보드 테스트를 흉내내며 서로 질문을 해봐도 재밌겠네요. ^^ 문제를 푸셔서 댓글로 답을 달아보시는 건 어떨까요? 제 맘대로 평가해드릴 수도 있습니다. ^^

    1. C의 atoi 함수를 구현해 볼 것
    2. C의 strlen 함수를 구현해 볼 것
    3. virtual void foo() = 0; 의 의미는 무엇인가 (클래스 선언 안에서)
    4. virtual 함수란 무엇인가
    5. polymorphism이란 무엇인가
    6. virtual 함수를 이용하는 간단한 클래스들을 구현해 볼 것
    7. bool isPowerOfTwo(unsigned int num) - num이 2의 승수인지를 판단하는 함수를 구현할 것
    8. void ReveseWordByWord(char* str) - str로 전달된 문장의 단어순서를 뒤집는 함수를 구현할 것. 예: "Dog is Cute"가 입력값이면 "Cute is Dog"이 반환값이어야 함
    9. void swap(unsigned char a, unsigned char b) - a와 b가 8bit 숫자일때 a와 b의 값을 바꾸는 함수를 구현할것. 단 새로운 변수를 사용하면 안됨.
    10. void foo() const; 에서 const의 의미는 무엇인가 (클래스 선언안에서)



    p.s.
    • 글 즐겁게 보셨고 다른 사람들에게도 도움이 되겠다 싶으시면 View On(Daum)이나 좀 눌러주세요. ^^
    • 3주동안 한번도 안거르고 썼어요.. 칭찬해주세요 ^_^
    • 질문은 답글로 남겨주세요.
    • 면접문제 다른거 생각나면 본글 에디트 한뒤 답글에 달겠습니다

    - 캐나다 버나비에서 Pope 올림.

    댓글 46개:

    1. 진짜 쓸데없이 길죠? -_-

      답글삭제
    2. 저두 해외(일본)에서 일하고 있지만 북미라는 무대는 확실히 틀린거 같아요 일하는 방식에서 부터 채용하는 방식도 그렇군요!!
      좋은 내용 감사합니다^^
      트윗 jongheon2 임돠~

      답글삭제
    3. 저는 일본에 대해 전혀 몰라요 ^^ 그냥 막연히 한국 문화가 일제영향을 많이 받은지라 일본도 한국과 비슷하겠거니... 라고 추측만 하고 있었죠.. 일본 채용방식은 한국하고 많이 달라요?

      답글삭제
    4. 아~ 일본도 한국과 많이 닮아 있는듯 합니다.
      사실 제가 일하고 있는곳이 한국쪽이랑 많이 닿아있어서 그럴수도 있구요~
      저도 영어공부&스킬업좀 해서 한번 도전해보고 싶군요^^;

      답글삭제
    5. 일단 칭찬요!!
      저기 위에 "영어" 질문한 1인에 해당되는데, 아무래도 직군이 기획직군이다 보니, 말로 많이 부딪힐 것 같아서요;
      포프님 말처럼 "의사소통만 되면"이라면 좋겠지만, 기획직군은 의사소통 뿐만 아니라 이해까지 시켜야 하는 쪽이라 생각이 되니.. 더 걱정만 되요 ㅠ.ㅠ;;;
      +1. 그래도 영어권 국가로 신혼여행 갔을 땐 기본적인 생활은 가능했었네요;;

      답글삭제
    6. 분량이 엄청나네요!! 쓰시느라 정말 수고 많으셨을거 같습니다. 좋은 정보 늘 감사히 읽고 있습니다!!

      워해머 대박 나시길 바라겠습니다!

      답글삭제
    7. egosite님.. 신혼여행가서 기본적인 생활이 가능했었으면 영어 꽤 하시는건데요.. 그리고 기획직군은 안되면 만화를 그려서 보여주면 됩니다 -_-; 영어만 쓰는 사람들도 글로 말로 대화하면 잘 이해가 안되지만 비주얼한걸 도입하면 이해가 잘 되거든요. 그리세요! :)

      dogmilk님.. 감사합니다.! 나오면 반드시 플레이해보세요 (PC로도 나오니)

      답글삭제
    8. 좋은 글 감사합니다. 저도 위에분처럼 디자인(기획) 파트다보니 영어로 상대와 커뮤니케이션 하는 업무를 주로 하게 될텐데 짧은 영어라 좀 덜덜 거리네요. 그래도 어학원도 다니면서 2,3년 안에 캐나다로 갈 준비를 하고 있습니다.
      다른 사람도 다 하는데 저라고 못할 거 있나요. 결국 자신감이 중요하다고 봅니다 :)

      다음 글도 기다릴께요!

      답글삭제
    9. 항상 좋은글 감사합니다. 경력은 좀 있는데 영어가 부담돼서 막막했는데 덕분에 용기가 좀 납니다.

      답글삭제
    10. 감명깊게 읽었습니다. 감사합니다..ㅎㅎ

      답글삭제
    11. 케인님, 솔리드님, CreamNuts님 좋게 봐주셔서 감사합니다 ^^. 뭐든간에 smart하게 열심히만 하면 못할 일은 거의 없습니다. 하시고자 하는 일 꼭 이루시길 바랍니다!

      답글삭제
    12. 필요한 부분들에 있어서 직접 체험하시고 느끼신 바를 구체적으로 자세히 언급해주는 한편 자신감까지 심어주시는군요 ^^ 북미에 취업하고 싶은 분들에게 실질적으로 큰 도움이 될수 있는 글이라고 생각됩니다. 너무 수고 많으셨습니다.

      답글삭제
    13. 현재 일반 인문계 고2 (내년 고3) 인 학생입니다.
      얼마전에 게임 프로그래머로 진로로 바꾸기로 결심했는데 입시정보를 좀 알아보니 한국IT전문학교(학점은행 2년제)인데 2년간 게임프로그래밍에 필요한 지식과 포트폴리오 , 실무를 가르치고 G-star나 각종 대회에 참가하고 또, 쉐퍼드대학3학년으로 무시험 편입이 가능하고 졸업후 29개월간 취업실습기간 OPT인가? 를 준다고 하더군요 ㅇㅅㅇ.... 이 방향으로 해서 실무경험이랑 포트폴리오/프로젝트를 쌓아서 쉐퍼드대학으로 편입한뒤 졸업후 북미 게임회사에 취직하는 편이 좋을까요? 부모님과 주변 사람들은 전문교육원보단 그냥 닥공해서 인서울 4년제를 가라고 한느데.....ㅠ 제 목표가 RTS장르의 게임을 개발하는 프로그래머여서 한국에선 PC패키지시장이 이미 망해버린상태고 외국 기업인 렐릭(워해머40K / 컴오히) / EA(C&C시리즈) / 블리자드(스타) ubisoft(r.u.s.e)정도를 최종목표로 생각중인데 뭐... 꼭 RTS장르를 개발하는것만 원하는건 아니지만 가능하다면 하고 싶네요 ㅇㅅㅇ.... 어떻게 해야하나요?...저가 우유부단한 면도 적지 않아 있지만 그래도 확실히 뭔가 할려고하면 엉청나게 집착해서 집중하는 경향이 있어서...

      답글삭제
    14. 제가 답변드리기 어려운 내용인군요. 이게 제가 대충 생각하는 내용입니다. (믿고 싶지 않으시면 안믿으셔도 됩니다. 한국 대학체계는 제 전문분야가 아닙니다. 전 어차피 초등때부터 독학한 놈이고, 저 때는 게임대학도 없었거든요 -_-)

      솔직히 말씀드리면 전 별로 유학이니 뭐니를 믿는 사람이 아닙니다. 쉐퍼드 대학이 어떤 대학인지 듣도보도 못했구요. (마찬가지로 한국 IT전문학교도 모름). 개인적으로는 전문대보다는 4년제 컴공을 가실것을 권하고 싶습니다. 주변 사람들에게 여쭤본 바로는 국내 게임전문대학에서 가르치는 내용이 별로 시원치 않다고 하네요.

      제 글을 다 읽으셨다면 제가 추천하는 방법은 한국에서 경력을 몇년 쌓으신 뒤 북미로 진출하는 것입니다. 한국에서 게임 회사에 취직 못하신다면 북미에서 취직하실 확률은 거의 0라고 보셔도 되는데... 한국에서 겜회사 취직못하시더라도 컴공 나와서 할 수 있는 다른 일들이 많으니 컴공가시는게 더 나을듯 하군요.

      게임 스스로 만들어보셨나요? 프로그래밍 하실 줄 아나요? 둘다 해보신적이 없다면 아직 이쪽으로 인생의 결정을 내리기엔 이르신거 같습니다. 그리고 게임 프로젝트를 스스로 찾아서 하실 정도의 적극성이 없으시다면 매우 어려운 길이라고 말씀드리고 싶습니다.

      또한 군대 문제도 있지 않나요? 해외유학하고 취업하실때면 영장 나올텐데요.. 그럼 군대 2년 갔다오면.... 다시 도루묵? -_-;

      답글삭제
    15. 아... 정말 좋은 내용이네요.. 저도 캐나다에서 유학하고 얼마전에 게임회사 캐릭터 아티스트로 취직했는데 바로 몇달전에 거쳐왔던 과정을 이렇게 글로 보니 감회가 새롭네요 =)

      답글삭제
    16. 궁금한게있습니다!
      만약에 학교에서 C가아닌 Java위주로 배웠다면, 인터뷰에서도 꼭 C위주로 질문을 주나요?

      저는 학교에서 자바만 열심히 공부했네요.. 흑흑

      Thank you for your post with all the details of how to become a great programmer! I think I won't be sleeping tonight to finish all of your blogs. :)
      감사합니다 포프님!

      답글삭제
    17. 모바일 쪽이라면 모르겠지만.. 일반 게임 프로그래밍은 C로 짜는게 보통이라... 자바로 면접하는 회사는 못봤어요 개인적으로는.... 자바 프로그래머를 찾는 회사가 아닌이상.. (전 모바일 자바 프로그래밍 하는 회사 들어갈때도 C로 면접보고 들어갔었다는...)

      답글삭제
    18. 그렇군요.. 좋은 답변감사합니다! 그리고 새해복많이받으세요 포브님!
      오랜만에 놀러왔다가요 ^^

      답글삭제
    19. 잘 보고 갑니다. 영어 이야기는 맘에 와 닿는다는 실력이 없는게 ㄷㄷ

      답글삭제
    20. 포프선생님의 글을 읽고 예제를 풀어보고 있는 중에 질문드립니다...
      9번 문재의 인자값 타입에 대해서 말인데요.
      인자값의 타입이 int 라면 쉽게 풀 수 있겠는데 unsigned char 라서 애로사항이 꽃피네요;;
      일단 인자로 넘어온 값을 비트연산자로 << 8 하면 값이 전부 사라져서 그냥 0이 되버리네요.
      이 문제만 풀면 다 푸는데 막혀서 질문드립니다...
      유명한 분이시라 바쁘시겠지만 혹시나 해서 답변은 bluekms21@naver.com 으로 부탁드려요 ^^;;

      답글삭제
      답글
      1. 이메일 드리겠습니다

        삭제
      2. 분명 보내주셨을텐데;; 제 이메일함이 이상한가보네요;;
        모든 스펨도 풀었고 휴지통과 스펨통도 다 열어봤습니다만 오지를 않네요;; ㅇ<-<
        http://bluekms21.blog.me 의 방명록에 부탁드릴순 없는지요...?
        =_ = 네이버 자체에 외국계정에 대한 필터링이 있는지는 잘 모르겠습니다만
        이메일을 알려주신다면 해결해 보겠습니다.

        추신 : 거듭 귀찮게 해 드려서 죄송합니다... 그리고 책은 샀습니다.. 잘 읽고있어요!

        삭제
      3. 알수없는 일이군요... blindrendere 앳 쥐메일 닷컴으로 메일주세요~

        삭제
      4. 블로그 답글은.. 네이버 사용자에게만 되는거 같아서.. 패스합니다..(네이버 아이디가 없어요 -_-)

        삭제
    21. 안녕하세요?ㅎㅎ 저는 한국에서 프로그래밍을 틈틈히 공부하고 있는 대학생입니다. 전공은 아니지만 이쪽의 일을 하고 싶어서 알아보다가 이곳을 알게되었습니다. 특히 북미 쪽에서 일하시는 프로그래머 분들의 이야기를 듣고 그 쪽 관심이 많았는데, 이렇게 가이드를 올려주셔서 도움이 많이 되었습니다. 읽다가 면접 문제를 한 번 풀어서 댓글로 올려보라고 하셔서, 나름대로 한 번 풀어보았습니다. VC에서 컴파일을 해보면서 해보았습니다.. MSDN이나 인터넷은 안 보았고 VS 디버거도 쓰지 않았습니다. 칠판에 쓰고 바로 대답하는 것 고민하거나 고치진 않으려고 노력했습니다. 혹시 틀린게 있을 것 같아 디버깅 해보고 싶지만 열심히 참았습니다ㅎㅎ
      그래도 좀 적다가 지우고 다른 방식으로 짠다든지 하는 경우가 몇 번 있었습니다. isPowerOfTwo 같은 경우 2의 제곱수를 만들어가면서 비교해볼까 하다가 바꿨고,
      9번 swap 문제는 다른 방법이 생각이 안 나서, 풀기 전에 비트 단위로 처리할 수 있을지 좀 오래 했습니다. 그러다가 방향을 바꿔서 차를 이용하는 방식으로 짰습니다.

      순서대로 적었고, 설명은 번호 위치에 맞게 주석으로 처리해서 두었습니다. 최종 출력 결과는 맨 아래 두었습니다. 부끄럽지만 한 번 봐주시면 정말 감사하겠습니다.

      #includeAttack();
      }
      };
      //7.bool isPowerOfTwo(unsigned int num) - num이 2의 승수인지를 판단하는 함수를 구현할 것
      bool isPowerOfTwo(unsigned int num)
      {
      for(int i=0; ;i++)
      {
      //this function is using the property of two's power
      //which only highest digit is 1 and the others are zero.
      if((num>>i & 0x1) == 1)
      {
      if(num>>i == 1) //if there is no other one
      return true;
      else
      return false;

      }
      }
      }
      //8.void ReveseWordByWord(char* str) - str로 전달된 문장의 단어순서를 뒤집는 함수를 구현할 것. 예: "Dog is Cute"가 입력값이면 "Cute is Dog"이 반환값이어야 함

      char* ReveseWordByWord(char* str)
      {

      //넣는 방식으로 하다가 한 번 바꿈.
      if(str==0 || str==nullptr)
      return 0;
      char* it=str;
      int length=0;
      for(; *it !=0 ;it++, length++); it--;//move pointer to the end-1. and counting total_length

      //memory allocation for the string which will be returned.
      char* ret_string=(char*)malloc(sizeof(char)*(length+1));
      strcpy(ret_string,"");


      for(; (it+1)!=str ;it--)
      {
      if(*it==' ')
      {
      strncat(ret_string,(it+1),length);
      strncat(ret_string," ",1);
      length=1;
      it--;
      continue;

      }
      length++; //if we can point, there will be letter to count.
      }
      strncat(ret_string,(it+1),length);
      return ret_string;
      }
      //9.void swap(unsigned char a, unsigned char b) - a와 b가 8bit 숫자일때 a와 b의 값을 바꾸는 함수를 구현할것. 단 새로운 변수를 사용하면 안됨.

      void swap(unsigned char a, unsigned char b)
      {
      if(a>b)
      {
      a=a-b;
      b+=a;
      a=b-a;

      }
      else
      {
      b=b-a;
      a+=b;
      b=a-b;
      }
      printf("a == %d b== %d\n",a,b);
      }


      //10
      ///void foo() const; 에서 const의 의미는 무엇인가 (클래스 선언안에서)
      //Programmers add const keyword to member function when making sure that the function won't change
      //member varibles in the class. If const keyword exists, only const functions can be called in const function.
      //Returning pointer of member variable is also prohibited.
      int main()
      {
      myatoi("314\n");
      printf("mystrlen test(pi is delicious) : %d\n",mystrlen("pi is delicious"));
      printf("128이 two의 제곱수 인가?(참이면 1):%d\n",isPowerOfTwo(128));
      printf("2048이 two의 제곱수 인가?(참이면 1):%d\n",isPowerOfTwo(2048));
      printf("314가 two의 제곱수 인가?(참이면 1):%d\n",isPowerOfTwo(314));

      printf("reverse word by word test(first second third fourth) : %s",ReveseWordByWord("first second third fourth"));
      printf("swap(255,127)'s result : ");
      swap(255,127);
      return 0;
      }

      ////////////////////////////////////////출력 결과
      mystrlen test(pi is delicious) : 15
      128이 two 의 제곱수인가?(참이면 1):1
      2048이 two 의 제곱수인가?(참이면 1):1
      314가 two 의 제곱수인가?(참이면 1):0
      reverse word by word test(first second third fourth) : fourth third second first
      swap(255,127)'s result : a == 127 b==255
      계속하려면 아무 키나 누르십시오...



      답글삭제
      답글
      1. #include
        #include
        #include
        #include

        //1. C의 atoi 함수를 구현해 볼 것
        int myatoi(const char* const str)
        {
        int ret=0; //It should be zero. If not, ret*=10; in the first loop won't be invalid.

        for(int i=0 ; *(str+i) != 0 ; i++)
        {
        ret*=10;
        ret += (*(str+i) - '0');
        }
        return ret;

        }
        //2.C의 strlen 함수를 구현해 볼 것
        int mystrlen(const char* const str)
        {
        //this function is not for unicode str.
        int len=0;
        for(len=0; *(str+len) != NULL ; len++);//Until NULL value
        return len;

        }

        //3.virtual void foo() = 0; 의 의미는 무엇인가 (클래스 선언 안에서)
        //if =0; is added, this means this virtual function don't need its content and this function will hand down
        //its interface only. If these purely virtual function is included, the class can't be object.


        //4.virtual 함수란 무엇인가
        //basically, functions in derived class can't be called by pointer of base class. But if certain function is
        //virtual, then by calling this virtual function using the pointer of base class, we can get to functions
        //in derived class whose name is same with those in the function in base class.

        //5.polymorphism이란 무엇인가
        //polymorphism means that things have same appearance but its internal processes are different.
        //For example, in string library, we can use += operator instead of using strcat function.
        //that += operator looks like the += operator in calculating integers like 2+=3;
        //but Its internal processes are different.
        //the += operator in string help users to append strings intuitively.

        //6.virtual 함수를 이용하는 간단한 클래스들을 구현해 볼 것
        class CAttacktype
        {
        public:
        virtual void Attack()=0;

        };
        class CPush : public CAttacktype
        {
        public:
        void Attack()
        {
        printf("push!");
        }
        };
        class CThrowknife : public CAttacktype
        {
        public:
        void Attack()
        {
        printf("throw kinfe!");
        }
        };
        class warrior
        {
        CAttacktype* attacktype;
        public:
        warrior()
        {
        attacktype= new CPush;
        }
        void Attack()
        {
        attacktype->Attack();
        }
        };

        삭제
    22. 들여쓰기도 무시되고 소스가 잘려서 다시 올리고 싶은데 편집이 없네요 흑...
      뒷 부분이 소스의 첫 부분입니다... 파일로 드렸어야 했는지 모르겠습니다..

      여하튼 정말 감사합니다!ㅎㅎ

      답글삭제
      답글
      1. 막상 여기다 댓글을 달어주려고 했더니.. 이 양이 너무 방대해서 -_-; 이멜로 주시면 이멜에서 해드리겠습니다...

        blindrenderer 쥐멜입니다!

        삭제
    23. unsigned char a, unsigned char b 라고 하셨는데, 매개변수를 call by value로 하면, 스왑이 안되지 않을까요?

      답글삭제
      답글
      1. 오 천재시다... 스왑이 안되네요... unsigned char &a 로 하거나.. .unsigned char *a로 해야겠군요.. 감사합니다.. ^^/

        삭제
      2. 저야 말로 감사하지요! 그래픽분야에서 종사를 목표로 하고 있는 학생인데, 이런 좋은 글 접하게 되서 좋은 정보 많이 얻어갑니다!

        그런데, 현재 국내기업들은 그래픽스 분야의 프로그래머를 잘 필요로 하지 않나요?

        물론 북미의 기업들이 훨씬 대우도 근무 환경도 좋지만요...

        삭제
      3. 아무래도 한국에서는 자체엔진을 쓰는 회사가 적어서 그래픽 분야를 좀 덜 필요로 하는거 같습니다..... 그리고 그래픽만 하는 사람보다는 엔진 프로그래머나 클라이언트 프로그래머 쪽으로 통칭해서 다른 일도 같이 시키는거 같구요. ^_^

        삭제
    24. 그런데 여기 아래 질문은. 신입 기준이 되는건가요?

      답글삭제
      답글
      1. 신입/ 경력직 둘다 포함입니다. 사실 프로그래머의 기본기가 중요한거니까요.. 나머진 그냥 여태까지 뭐했는지 말하라는게 전부....

        삭제
      2. 그렇군요. 우리나라 업체들과는 다른 모습이군요. 답변 감사합니다 ^^

        삭제
    25. 글 잘봤습니다. 다형성이 정말 중요한 개념인가봐요. 나름 C++ 잘한다고 생각하고 있었는데 저는 아직 멀었군요. 정말 큰 도움이 될 것 같습니다. 감사합니다!

      답글삭제
      답글
      1. OOP의 존재 이유는 다형성이라고 생각합니다. 사실... -_-a

        삭제
    26. 저 안녕하세요? 포프님 다른게 아니라 나이는 30대 중반이라서 이제는 공무원공부를 하고 있지만 취미로 컴퓨터 프로그래밍에 관심이 많은 사람입니다. 2년반간 SI에서 일을 했었고 체력도 딸리고 비젼도 보이지 않아서 옮기게 되었습니다. 그런데 제가 질문드리는 것은 예전에 둠 3 소스 코드 분석을 해 주셨는데 제가 그대로 따라해봤습니다. 오류는 거의 나지 않았지만 pdb 파일이 없다는 메시지가 많이 나왔고 게임은 스팀에서 구입하지 않았습니다. 컴파일 후에 실행을 시키면 작은 창이 나오면서 Can't load cgf loader 가 라는 메시지가 나왔습니다. 지금은 컴퓨터를 포맷 시켜 버려서 잘 기억이 나지 않지만 더 이상 진행이 되지 않았습니다. 인터넷을 검색하다가 이 사이트를 알게 되었고 포프님의 도움을 받을 수 있을 까 해서 글을 남깁니다. 저도 굉장히 게임엔진에 관해서 관심을 가지고 있는데 어떻게 제 컴퓨터에서 디버깅을 할수 있도록 도움을 주신다면 정말 감사하겠습니다. 어떻게 돌아가는지 꼭 알고 싶거든요. 부탁드립니다. 도와주세요 . 제 이메일은 kimbj591@naver.com입니다. 답변 주시면 정말 감사하겠습니다. 게임을 같이 구입해야만 디버깅이 진행 되는 것인가요? 많이 어렵네요.. 꼭 좀 도와주십시요.

      답글삭제
      답글
      1. 제가 쓴글은 아니라.. 실제 저자분께 이멜 전달해 드렸습니다. (서로 이미 이메일도 주고받으신듯?)

        삭제
    27. 이 글을 좀더 일찍봤더라면 좋았을텐데요..
      실제 면접에서 물어보는건 북미나 여기나 같네요.. 기초적인부분+알고리즘
      이런부분에서 부족함을느껴서 기본기를 키우고있습니다.
      좋은글 감사하고 더자주 올려주세요 ㅎ

      답글삭제
    28. 안녕하세요 포프님, 저는 어제 20살이 된 한 게임프로그래머 입니다. 학교는 게임관련 특성화 고등학교를 나오면서 학교생활하면서 좋은 친구들과 함께 인디게임 개발을 해서 마켓에 출시도 해보고, 현재는 원하는 회사에 입사하여 3개월 수습기간을 거의 끝마치려 하고 있습니다. 다름이 아니라 시대가 시대인만큼한국에서 머물고 있을 수는 없고 외국에서도 일을 한번 해보는 경험, 그리고 성향이 맞는다면 쭉 일을 하고싶어서 여러가지 알아보고 있는데, 특히 캐나다에 관심이 많아서 병역문제만 해결된다면 바로 건너갈 생각을 하고 있습니다. 다만 궁금한게(아무리 찾아봐도 해결이 잘 안되더라구요ㅜㅜ)있는데 혹시 시간이 괜찮으시다면 페북메시지 해도 괜찮을까요?(이미 페북 친추가 되있는 팬이랍니다 ㅎㅎ)

      답글삭제
    29. 혹시 아직도 면접문제 풀이보냐면 답변 해주시나요?
      고등학생인데 시간날때 풀어보려구요

      답글삭제
    30. 안녕하세요. 늘 영상이랑 글 잘 읽고 있는 고등학생입니다. 혹시 아직도 이메일로 면접 예상문제 풀이하면
      답변 주시나요? 시간 날때 풀어보려구요~

      답글삭제
    31. 1,2번밖에 모르겠네요 1번 이상한가요??

      #include
      #include
      #include

      int main()
      {
      //1번 예제 ATOI함수
      char ch[20]="C atoi function";
      int ATOI[20];
      int i;
      for(i=0;ch[i]!=0;i++)
      {
      ATOI[i]=(int)ch[i];
      printf("%d ",ATOI[i]);
      if(i%10==9)
      printf("\n");
      }
      printf("\n");
      for(i=0;ch[i]!=0;i++)
      {
      printf("%c",ATOI[i]);
      }

      //2번예제 strlen함수.
      int len_count=0;
      char ch_len[50]="가나라마바사아자차카타파하";
      for(i=0;chlen[i]!=0;i++)
      {
      len_count++;
      }
      printf("\n%d",ch_len);
      system("pause");
      }

      답글삭제
    32. #include
      #include
      #include

      int main()
      {
      //1번 예제 ATOI함수
      char ch[20]="C atoi function";
      int ATOI[20];
      int i;
      for(i=0;ch[i]!=0;i++)
      {
      ATOI[i]=(int)ch[i];
      printf("%d ",ATOI[i]);
      if(i%10==9)
      printf("\n");
      }
      printf("\n");
      for(i=0;ch[i]!=0;i++)
      {
      printf("%c",ATOI[i]);
      }

      //2번예제 strlen함수.
      int len_count=0;
      char ch_len[50]="가나라마바사아자차카타파하";
      for(i=0;ch_len[i]!=0;i++)
      {
      len_count++;
      }
      printf("\n%d",len_count++);
      system("pause");
      }

      답글삭제