Q. 자기소개
▶ 하고 나서 혹시 몇번이나 연습하셨어요?
Q. 본인의 성격?
▶ MBTI에 빗대어 설명. ESFJ 라는 사교적인 외교관이고 이 성격은 다른사람이랑 얘기하는 것을 좋아하고 세세한것까지 기억해 남들이 힘들때나 지칠때 기억했던거를 말하면서 공감을 해주고, 팀에서 분위기메이커로 활동하면서 승리로 이끄는 성향인데
이중에 가장 나랑 맞는 점은 남을 도와주는 것에 제일 잘맞고 이런점을 살려서 동아리 운영진 교육기획팀으로 활동하면서 스터디원들 커리큘럼을 기획하고 스터디를 이끌어나가고 아두이노 강사로 활동하면서 일반인을 대상으로 어려운 하드웨어 지식이나 코드를 쉬운말로 설명하기 위해 노력했다
가장 기억에 남는점은 스프링프레임워크 수업때 중간고사 0점 맞은 친구를 기말고사 3일전부터 데려다가 공부시켜서 60점까지 올렸던 것이다. 연구실에 불려가서 무슨짓을 했길래 이렇게 성적이 올랐냐고 칭찬을 받았던 적이 있다.
Q. 본인의 약점?
▶ 예상하지 못하는 상황에 당황하고 대처를 잘하지 못하는 것. 그래서 사전에 발생할 수 있는 위험을 미리미리 차단한다.
내가 그 상황에서 당황하면 어떤 결과가 생길지 알고있기 때문이다.
Q. 자소서에 가장 기억에 남는 문구가 있다. '무한루프' 라는 단어였는데 기억이 나는가? 한번 그때 상황에 대해 설명해볼 수 있는지?
▶ 기억이 난다. 학부 프로젝트에서 간단한 주소록 관리 프로그램을 구현하는 거였는데 교수님이 학번, 이름 입력하는거에 숫자같이 이상한 걸 입력하더라. 당연히 프로그램은 다음단계로 실행이 되지 않았고 교수님이
'사용자가 정상이라고 생각하지마라, 사용자를 고려한 프로그램을 작성하라' 고 얘기하셨다.
Q. 그럼 이때 배웠던 걸 후에 적용한 경험이 있는지?
▶ 있다. 코딩테스트 프로젝트에서 3차평가를 준비해야했는데 심사위원들 앞에서 시연하는 것이었다. 그래서 입력할 수 있는 모든 빈칸에 예외처리를 진행했다. 혹시라도 심사위원들이 입력을 잘못했을 때 발생하는 오류를 지적하면 거기서 변명할 수 없었기 때문이다.
Q. 본인이 가장 자신 있는 언어?
▶ C, C++. 이유는 첫 관심 분야가 임베디드였다. 하드웨어에서 가장 빠른속도로 작동하는 언어가 C 이기 때문에 그 언어로 구현할수 밖에 없었다. 기계가 내가 구현한 대로 작동하는게 신기했다. 그래서 관련 프로젝트도 세 개나 했었다.
Q. 점수를 매겨본다면?
▶ C랑 C++ 3.5, 자바 2.5 를 주겠다
Q. 업무가 자바를 사용하는 업무인걸 알고 자바를 가장 낮은 점수를 준건지?
▶ 그렇다. 자바를 낮게 준 이유는 안드로이드 나 스프링을 자바로 사용하긴 하지만 자바를 사용한다고는 생각이 든적은 없었다. 안드로이드도 분명 언어는 자바인데 자바같지 않고 스프링도 주로 Controller를 건드리고 자바를 사용하는데 VO나 Service 단이기 때문이다. 자바수업을 들은 이유로 자바를 수업이후 제대로 공부해 본적이 없기 때문에 2.5를 줬다.
하지만 C는 모든언어의 근간이 되는 언어라 생각한다. 자바의 객체지향 개념 상속, 다형성 개념도 다 알고있다. 그래서 자바도 C 공부한만큼 한다면 C와 C++만큼의 점수를 낼수 있을거라 생각한다.
Q. 스프링 프레임워크는 버전 어디까지 써보았는지?
▶ STS4 까지 써보았다.
Q. 원래 본인에게 점수가 후한가?
▶ 그렇다.
Q. 후해서 3.5점을 준건지?
▶ 그렇다.
Q. 같이 일하는 사람중에 마음맞지 않는 동료가 있다면 어떻게 할것인지
▶ 뭐 어쩌겠습니까 가급적 부딪히지 말아야죠 제가 갈등을 피하고 만들지 않으려고 노력하는 성격이라
사람은 자기 하고싶은대로만 하고 살수없어요 제가 한번 겪어봤거든요
Q. 프로젝트에 참여할때 어떤과정으로 진행하는지?
▶ 프로젝트에 대해서 알아야 하기 때문에 자료조사를 철저하게 한다. 이 프로젝트에 필요한 프레임워크, 라이브러리, 데이터베이스에는 뭐가 있는지, 이전에 진행된 비슷한 프로젝트가 있는지 이런것들을 찾아보면서 프로젝트를 파악한다. 그다음에는 아이디어를 제시하면서 최종 목표를 정한다. 정한 목표를 바탕으로 요구사항들을 도출한다. 그다음 유스케이스, 시퀀스 다이어그램 등을 그리면서 설계한다. 그리고 설계한 걸 바탕으로 구현한다.
아 앞에 까먹고 말하지 못한 게 있는데 프로젝트 초기에 팀원들의 역량과 선호도를 파악해서 각자에 맞는 역할을 준다.
Q. 얘기를 들어보면 꼼꼼한 사람같다. 꼼꼼한 성격인가?
▶ 전혀 아니다. 단지 꼼꼼한 사람이 되기 위해 노력할 뿐이다.
Q. 계획을 잘 세우는 사람 같은데 만약에 계획과 어그러진다면 어떻게 대처하는지 ?
▶ 미루어지거나 지연된 일을 최대한으로 빨리 끝내 이후의 계획이라도 최대한 지키려고 노력한다.
Q. 유통 쪽은 생각한 분야가 아니라고 얘기했는데 혹시 그동안은 어떤 준비를 하고있었나?
▶ 근데 제가 이걸 솔직하게 말해서 좋을게 있나요?
Q. 솔직하게 말하면 좋다. 한번 얘기해봐라
▶ 임베디드와 IoT 같은 전자 쪽을 준비했다. 기계가 내가 작성한 프로그램대로 동작하는 게 좋았고 그런 모습을 보고싶었다. 하지만 전자 쪽 시장이 작다. 그래서 작년에 프로젝트하면서 백엔드 쪽도 해봤어서 백엔드 쪽으로도 준비를 했다.
Q. 외람된 질문이지만 혹시 별명이 있는가?
▶ 없다. 하지만 특이하다는 얘기는 많이 들어봤다
Q. 혹시 왜 그런 얘기를 듣는지 물어본 적 있는가?
▶ 알 것 같은데 잘 모르겠다. 근데 별로 궁금하지 않다. 좋은 뜻으로 하는 얘기는 아니라는 것을 알고있다. 하지만 사람마다 다른 성격이 있다고 생각한다. 나의 이런 점을 좋아해주는 사람도 있기 때문에 바꿀 생각은 없다.
Q. 전공이 컴퓨터공학부 소프트웨어전공이다. 어떤 수업을 주로 들었는지 물어봐도 되나?
▶ 소프트웨어전공이지만 하드웨어에 관심이 많아 컴퓨터공학전공의 마이크로프로세서, 네트워크 프로그래밍, 고급프로그래밍 같은 강의들을 들었다. 하지만 임베디드 말고도 다른 것도 해보고 싶었고 웹을 해보는 건 어떨까 싶어서 4학년 1학기때 웹프레임워크 프로그래밍을 들었다. 수업을 듣고 나서 '내가 웹에도 흥미가 있구나' 라고 알았고 그래서 한이음 프로젝트도 참가했다.
Q. 학부시절 가장 재밌었던 과목은?
▶ 네트워크 프로그래밍, 다른 컴퓨터와 통신을 한다는게 신기했다. 스레드 같은 기술스택을 사용하는것도 신기했다. 이때 들었던 걸로 졸업작품에서 서버와 통신을 하기위해 소켓을 사용하고 그밖에도 다양하게 많이 사용했다.
Q. 그럼 가장 안맞았던 과목은?
▶ 고급프로그래밍. 운영체제와 네트워크 프로그래밍을 합친 과목이었는데 수업의 내용은 둘째치고 교수님 말씀이 한귀로 들어와 다른귀로 나가는 기적의 수업이었다.
Q. 자신만의 스트레스 해소 방법?
▶ 유투브에 들어가서 아이돌 무대영상을 본다. 모든 사람은 예쁘고 잘생긴것을 보면 기분이 좋아진다고 생각한다. 한 30분 보면 왠지 모르게 기분이 좋아진다. 반짝반짝 거리는 아이돌을 보고있으면 '와 반짝반짝 거린다. 나도 저런사람이 되고싶다.' 화면 속에서 이들은 춤을 춘다는 본인의 일을 열심히 하고있지 않는가. 그런 모습을 보고있으면 '나도 열심히 해야지' 생각이 든다. 그러면 스트레스가 없어진다.
Q. 가장 기억나는 프로젝트가 있다면?
▶ 작년에 진행했던 코딩테스트 시스템이다. 작년에 한이음에 참여했었는데 팀결성부터 우여곡절이 많았었다. 어렵게 결성된 팀이었지만 큰 난관에 봉착했다. 팀원들이 전부 다 다른 학교였다. 학교가 다르다는게 서울권 내에서 다르다는게 아니라 한명은 시흥, 한명은 오산, 한명은 서울시 공릉동으로 코로나 때문에 한번 만나기도 힘들었다. 심지어 멘토님은 팀에 전혀 관심이 없는 분이었다. 그때 든 생각은 '이대로 가다간 프로젝트도 못해보고 끝나겠구나' 싶었다. 하지만 프로젝트를 꼭 진행시키고 싶어서 '작년에 한이음 공모전에 참여해본 내가 팀을 이끌어보자' 생각했고 미팅 첫날, 팀원들을 앉혀놓고 얘기를 했다. 한이음 공모전이 어떻게 진행이 되는지, 이 프로젝트를 하려면 어떤게 필요한지, 개략적인 계획을 잡고 팀 규칙을 정했다. 일주일에 한번씩 회의, 진행사항 체크, 이주에 한번 오프라인으로 만나서 개발
그리고 공모전 특성상 제출해야하는 보고서가 많았다. 보고서를 시간에 쫓겨 작성하는 걸 싫어해서 공모전 제출 한달 전에 일정을 미리 확인하고 팀원들의 진행도를 파악했다. 그리고 보고서에 얼마나 작성해야 할지 정했다. 그리고 구현한 내용 먼저 작성하면서 정한 목표만큼 개발을 했다. 그리고 마감 전날까지 작성한다음 제출했다. 이런식으로 6달동안 프로젝트를 진행했고 장려상을 수상했다.
근데 수상실적보다 더 뿌듯했던 건 3차평가때 인터뷰에서 '각자 팀원들에게 고마운 점이 있다면' 이라는 질문을 받았었다. 우리 팀원들이 '민지씨가 초반에 프로젝트를 이끌지 않았다면 이 자리까지 오지 못했을 거다' 라는 팀원들의 인정이었다.
Q. 추천채용이다. 추천한 멘토와는 어떻게 알게 된건지?
Q. 유통은 생각하지 못했고 임베디드와 IoT 쪽이 관심분야라고 했다. 그렇다면 지원한 이유가 무엇인가?
▶ 멘토님의 추천채용 지원 얘기를 듣고 생각하지 못했던 분야여서 고민했던 건 맞다. 그래서 어떤 회사인지 알아보고 싶어 사이트에 들어가서 알아보았다. AKIS가 추구하는 인재가 세가지가 있던것으로 기억하는데 (인재 설명) 이게 나와 부합하다고 생각했다. (왜 인재에 부합한지 설명)
Q. 혹시 본인이 '오타쿠' 기질이 있다고 생각하는지?
▶ 오타쿠 까지는 아니지만 내가 하고싶은 목표나 이런게 생기면 이걸 꼭 구현해내고 싶어서 뭐든 다 찾아보고 끝내 구현해낸다. 오후 세시에 시작해서 새벽 오전 세시까지 하고 그런다.
Q. 프로젝트를 진행할 때 슬랙, 깃랩 같은 협업 툴을 사용해 본적이 있는지?
▶ 있다. 작년에 프로젝트를 진행할 때 Git을 사용해서 형상관리를 했었다. Git을 써 본지 오래되지 않아 잘한다고 말할 수는 없다. 팀원들에게 '강의를 듣고 프로젝트에 적용해보는게 어떻겠냐' 고 제안했고 다같이 강의를 듣고 사용해보았다.
두명이서 사용했기 때문에 Git의 장점을 충분히 겪어보진 못했지만 conflict를 고쳐가면서 코드를 합치는데 정말 좋구나, 지금은 둘이서 쓰지만 여럿이서 할때는 정말 편하겠다 고 생각했다.
Q. 데이터베이스에서 null의 의미란?
▶ 쿼리를 테이블에 던졌을 때 값이 존재하지 않다는 의미라고 생각한다.
Q. 데이터베이스 커밋 롤백의 개념에 대해 설명?
▶ 원자성이라는 개념에 적용해 설명할 수 있을 것같다.
먼저 원자성이란 0 아니면 1의 상태로 실행하거나 아니면 아예 실행하지 말거나 둘중 하나의 상태를 가진다.
그래서 커밋은 일련의 연산들을 반영하는것 롤백은 만약 연산중 하나라도 오류가 생겼다면 실행 이전의 상태로 되돌리는 것이라 생각한다.
Q. 컴파일에러와 런타임에러의 차이?
▶ 컴파일에러는 컴파일 시간에 발생하는 에러로 문법적인 에러를 말한다. 오류메시지 뜨면 화날때가 많지만 잘못됐다고 알려주는 거니까 고치면 된다.
런타임에러는 실행시간에 발생하는 에러로 예시로 스택오버플로우 가 있다.
Q. 컴파일에러와 런타임에러 어떤게 프로그램에 치명적이라 생각하는가?
▶ 런타임에러
Q. 그 이유는?
▶ 런타임에러 같은 경우는 만약에 메모리에 잘못 접근하면 프로그램 자체가 아예 잘못 될 수 있기 때문이다.