[프로카데미 특강후기] 1. 게임서버 취업전략

취업/특강

2020. 2. 16. 02:23

대충 휘갈긴다고 제대로 다 받아적지는 못했지만

키워드는 모두 담았으니 저나 여러분에게 도움이 됐으면 좋겠네요!

1. 게임서버의 두 갈래

  • Stateful Server

    • 정의

      • Client의 이전 상태를 기록하는 서버
    • 사용 언어

      • C++
    • 특징

      • 게임개발에서만 쓰이는 중
      • DB공부는 다른 공부의 1/10정도 비중
  • Stateless Server

    • 정의

      • http와 같이 client의 이전 상태를 기록하지 않는 서버
    • 사용 언어

      • Node.js
      • PHP
    • 특징

      • 여러 분야에 적용 가능
      • DB가 중요하다

2. 입사지원

  • 프로그래머의 역할

    • 서버든 클라이언트든 결국은 컨텐츠 개발
    • 라이브 개발 부서는 네트워크 설계가 이미 끝나있음
    • 신규 게임에 신입이 할 수 있는건 없다.라이브 개발실에서 유지보수하며 실력키우는 것을 추천
  • 포트폴리오

    • 유니티 에셋으로 이쁘게 꾸미는데 치중한 포트폴리오는 아무 쓸모 없음
    • 채팅 서버 개발을 하더라도 다양한 방법으로 설계하면 좋은 포트폴리오가 될 수있다
  • 포트폴리오 문서

    • 제품설명서 느낌
    • 구현 방법 x
    • UML 필요 없음
    • 직접 구현한 것 중에 자신 있는것들만 문서화 하자
    • 성능 분석 결과는 무조건 첨부
    • 폰트,사이즈,배치는 생각보다 중요
    • 문서로 한 번 쫙 써내려가고 2일정도 지난후에 다시보고 수정한다
  • 자소서

    • 기술적 접근, 소개
    • 인생소개 X

위의 내용은 3N기준.

3. 필요한 C++ 문법

  • STL

    • 아주 자세히 자료구조의 사용법, 사용이유, 각 기능의 시간 복잡도에 대해 빠삭하게 공부
  • Modern C++

    • 하면 좋고, 안해도 감점이 되지 않는다
    • 몇몇회사는 입사 조건이 Modern C++ 숙지이다
    • 면접전 문법정도는 익혀두자
  • 기초

    • int x =5 + 7x9 >> 1 x 2

      • 시프트 연산자의 우선순위를 묻는 간단한 문제
    • 구조체 사이즈 문제

    • char c = 12>>3

      • 기초적인 캐스팅 문제
    • 라이브러리 숙지를 통한 손코딩 가능

  • C#

    • 못해도 상관없음. 실무에 들어가서 배워도 상관 X
    • 유니티 포트폴리오를 만든다면 배워두자
    • 최근 MMORPG에 서버로 도입되는중

4. 각종 회사 짜잘한 정보

  • 컴투스

    • 기술면접에 DB문제로 도배
  • 스마일 게이트, NC Soft

    • 정처기 내용들을 객관식으로 여러문제 출제
  • 넷마블

    • OSI 7계층 빈칸 문제
  • 넥슨

    • C++ 11 뭐 써봤냐, 왜썼냐, 장점이 뭐냐, 단점이 뭐냐
    • 몰라도 마이너스는 아님

5. 각종 해 봐야할 것 정리

  • Protocol 설계

  • C++ STL (Vector, List, Linked List, map, unoredered map) 구현 해보고

    언제,어떻게,왜 쓰는지 그리고 시간 복잡도 암기

  • 소켓프로그래밍

    • 종류

      • Select

        • Select는 아직 현역이다. 사용해보자
        • 직관적이고 확실한 개념이라 아직까지 사용됨
      • Overlapped IO

        • 사용법만 익히면 구현 별거 아님
      • IOCP

        • 사용법만 익히면 구현 별거 아님
    • 포트폴리오 작성시 사용해보자

    • 소켓 프로그래밍은 사실상 Send , Receive가 끝임 비중 x

  • 서버 관력 책

    • 실제 구현에 문제가 있는 예제들 뿐임
    • 직접 개발해보고 오류 버그 없는 고성능 서버 개발
    • 네트워크 메모리 쓰레드 스케줄링 문제 발견후 해결하기
  • Reliable UDP

    • 설계만 해보자. 말로 설명할 수 있을정도. 실제 구현 X
    • 입사 테스트에서 물어볼 수 있다.
  • OS

    • 큰 회사들은 OS를 중요하게 생각한다
  • 정보처리기사

    • 자격증 목표로 공부하기 보다는 정처기 공부자체가 도움이된다
  • 레드블랙트리

    • 구현하라는 회사 X
    • 설명하라는 회사 O
  • 패킷 구조

    • 구조 달달 외우자 (헤더기능)
    • 패킷캡쳐 (패킷 분석 프로그램) 사용해보기
  • 어셈블리

    • MSDN 공식 사이트에서도 제대로 알려주지 않는 부분 존재
    • 어셈블리 수준에서 문제점을 발견할 수 있는 수준이 되면 좋음
  • 알고리즘

    • 백준 코드포스 풀어보기
    • 유형이 정해져있다
    • 하루에 한 문제는 풀어보자
  • 데이터베이스

    • 정규화

    • 정규화를 통해 테이블 설계

      • 이 부분은 별로 언급을 안하셨지만 게임 개발 특강의 기획서에서 중요하게 다뤄짐
  • 컨퍼런스

    • NDC, INVEN , 아마존 , 유니티 ,언리얼 컨퍼런스 찾아보자. 무조건 도움된다.

6. 추가설명

  • 경력직에도 자소서를 내보자

    • 뽑힐만하면 뽑힌다
    • 회사입장에서도 신입이 경력직 면접 통과하면 싼 가격에 좋은 인재 구하는 것
  • 협업을 보는 회사가 있으나 필수가 아니다

    • 서버 포트폴리오에 굳이 협업능력은 필요 없다
    • 기회가 있으면 해라. 굳이 찾아서 할 필요 없다
  • 서버 프로그래머 잘 뽑는가?