1차면접. (기억에 남는 질문들 위주) : 면접관 3 : 지원자 1
Q : 객체지향 프로그래밍이란?
A : 모든 객체는 자신의 속성을 스스로 관리하도록 만드는 정보은닉, 한 객체가 자신이 맡은 역할을 수행하는 모든 기능을 가지고 있으면서 외부에서는 그 기능들의 동작원리를 몰라도 사용할 수 있도록 하는 캡슐화, 객체간의 상속을 통해서 일련의 객체들에 대해 공통적인 규칙을 만드는 상속을 활용하는 개발방법론.
Q : 클래스와 인터페이스의 차이는?
A : 문법적인 부분에서는 인터페이스의 경우 추상메소드만 정의가능하고 인터페이스를 대상으로 객체생성 불가능하지만 클래스는 객체생성이 가능. 활용적인 부분에서는 클래스는 객체를 생성하기 위한 용도이고 인터페이스는 객체의 사용법을 정의하기 위한 용도.
Q : 자바에서 클래스는 다중상속이 불가능한데 다중상속을 해결하는 방법은?
A : 평소에 생각을 안해봤는데, 다중상속을 해야하는 클래스의 객체를 필드로 포함시키고 해당 객체의 메소드들을 모두 정의해서 해결가능할것같습니다.
Q : 배열과 ArrayList 의 차이점은?
A : ArrayList 는 내부적으로 배열을 가지고 있고 배열을 다루기 위한 다양한 메소드들을 제공함.
Q : 더 없나요?
A : 네.
(아마도 배열의 길이에 대한걸 기대하신 것 같습니다. 그땐 생각이 안나서 대답을 못했네요.)
Q : 스프링 프레임워크란? 그리고 스프링 프레임워크만의 장점은?
A : 잘 모르겠습니다. (스프링을 주로 사용하는 회사였지만 전 스프링을 1도 모르는 상태에서 면접을 봤습니다.)
Q : 포트폴리오 봤는데 여기서 본인이 맡았던 부분은?
A : dao 와 관련된 클래스들을 모두 만들었습니다.
Q : dao 를 만들었다고 해도 프론트쪽에 어느정도는 관여를 했을건데 어떻게 관여했나?
A : 사실 부트스트랩에서 템플릿을 고르는것 빼곤 제가 다했습니다..
Q : MVC 구조란?
A : 모델은 dto , 컨트롤러는 dao , 뷰는 jsp 페이지
--------------------------------------------------------------------------------
2차면접. 대표,팀장 : 지원자
대표 : 지원동기는?
A : OOO(회사이름)에 대해서 조사해봤었는데 최근 글로벌 핀테크 리더라는 큰 목표에 도전하고 있다고 들었습니다.
제 성격중에 가장 큰 특징을 꼽으라면 남들이 무모하다고 해도 일단 도전하는걸 좋아한다는 점입니다.
실패할수도 있지만 실패속에서도 분명히 배울점은 있다고 확신합니다. 그래서 OOO 의 도전에 함께하고 싶어서 지원했습니다.
대표 : 우리는 주로 스프링을 쓰는데 스프링을 못하면 우리는 월급을 줘야하는 입장인데 아웃풋이 없으면..
A : 출근하기 전까지 전부 공부할 수 있습니다.
대표 : 출근하게 되면 어떤 일을 할것같은지?
A : 솔루션을 유지보수하면서 고객의 피드백을 적용할 것 같습니다.
대표 : 일을 하게되면 뭐가 가장 걱정스러운지?
A : 새로운 조직에 들어갈때마다 적응기를 어떻게하면 최대한 줄일수 있을까 고민합니다. 업무적인 부분은 저는 노력하기 나름이라고 생각합니다. 업무적으로 부족한게 있다면 스스로 공부하면서 채워나가면 얼마든지 극복가능하다고 생각합니다.
팀장 : 학원은 안다니셨다고 했는데 그럼 공부는 어떻게?
A : 배워야할게 있으면 무조건 책한권 사서 반복해서 읽었습니다.
팀장 : 그럼 지금까지 독학하면서 읽었던 책 전부 말해보세요
A : (6권정도 생각나는것만 말함)
팀장 : 자기소개서나 말하는거에서 열정과 의지는 충분히 느껴지는데 우리가 볼 수 있는 아웃풋이 없는데.. 말로만 열정이 있는건지 아니면 누구에게나 떳떳한건지?
A : 그건 제가 준비가 부족했다고 생각하고 충분히 그렇게 생각하실 수 있다고 생각합니다.
팀장 : C언어에서 포인터를 어떻게 쓰는지?
A : (멘붕.. C언어 공부한지 몇년은 된것같은데..) 메모리 주소 연산이나 배열, 구조체를 사용할때.
팀장 : C언어에서 문자열은 어떻게 다루는지? 그리고 문자열의 끝은 어떻게 아는지?
A : 문자열중 가장 첫번째 문자의 메모리 주소를 이용해 다룬다. 그리고 끝은 널 문자의 유무로 확인가능.
팀장 : 알고리즘이나 디자인패턴은 공부안했는지?
A : 디자인패턴은 아직 공부안했고 알고리즘은 지난 학기때 배웠다.
팀장 : 그럼 알고리즘중에서 정렬 알고리즘 아는거 아무거나 말해보세요.
A : 버블 정렬밖에 모르겠습니다. (정말 몰랐음)
팀장 : 자바에서 제공하는 자료구조 관련 클래스 모두 말해보세요.
A : 리스트에는 ArrayList,LinkedList 셋에는 HashSet,TreeSet 맵에는 HashMap,TreeMap 큐에는 LinkedList
팀장 : 해시에 대해서 설명하고 장점도 설명하세요.
A : 해시코드를 이용해 데이터들을 영역별로 분류하고 새로 저장하거나 비교해야할 때 영역 내에서만 비교하기 때문에 속도가 빠름.
대표 : 궁금한점이 있는지?
A : 개인적으로 궁금한건데, 최근에 오라클 jdk 유료화가 이슌데 OOO에서는 어떻게 대처하는지?
팀장 : 저희는 자바8 과 코틀린으로 대응중.
A : 일을 하게 된다면 개발환경이 궁금함. 서버는 어떤걸 쓰는지?
팀장 : 리눅스를 기본으로 쓰고 클라우드도 씀.
--------------------------------------------------------------------------------
면접이 끝나고 엘레베이터를 잡고 기다리고 있는데
팀장 : OOO씨? 잠깐 앉아서 기다려주시겠어요? 원래 임원면접하고 합격자들 따로 와서 면담하고 가는데
부산에서 또 오기 그러니까 온김에 면담까지 하고가죠.
회의실에 앉아있으니 직원분이 면접실들어가서 얘기하시더니 회의실로 들어오심.
직원 : 면접을 잘보셨나봐요. 근데 팀장님이 한가지 확인하고싶은게 있다고 하네요. 그래서 메일로 일주일정도 과제를 내줄건데 어떤건지는 저도 개발자가 아니라서 잘 모르겠는데 그렇게 어렵지는 않을거에요.
그래서 조건부합격되셨고 지금부터는 합격하셨다는 전제하에 면담을 할거에요.
그 뒤 연봉이나 출근 시 세부사항들 그리고 복지같은것들 합격 후 언제 출근가능한지 등등 이야기하고 부산으로 내려갔습니다.
--------------------------------------------------------------------------------
저번주 화요일에 과제가 왔습니다. 목요일까지 제출이었고 문제는 스프링MVC 와 ajax 를 이용한 현재시간 실시간 출력해주는 애플리케이션을 github에 등록하는것과 스프링의 특징+disatcherServlet 에 대한 설명+web.xml dispatcher-servlet.xml 의 각 config 설명을 포함한 PPT 제출이었습니다. 급하게 스프링 책을 사서 공부하면서 했는데 의외로 쉽게 풀려서 제출했습니다.
그리고 목요일에 2차과제가 왔습니다. 이번주 월요일까지 제출이었고 문제는 에어비엔비 분석해서 유스케이스 다이어그램과 시퀀스 다이어그램 작성해서 보내는거였습니다. (물론 모든 세부기능까지는 아니고 중요하다고 생각되는 기능들에 대해서만요.) UML 공부안해둔걸 후회하며 열심히 해서 기한 맞춰서 제출했고 그날 바로 답장이 왔습니다.
제가 만든 다이어그램들에 대한 피드백과 더불어 마지막 과제를 내주셨습니다.
기한은 오늘까지였고 내용은 피드백 참고해서 기존꺼 수정하고 수정한걸 기준으로 클래스 다이어그램과 ERD 만들어서 제출이었습니다.
또 잠줄여가면서 열심히 해서 오늘 제출했습니다.
이제 과제도 다 끝났습니다. 결과만 남았네요. 메일은 확인하셨던데 아직 연락은 없네요.
다 끝내고 나니 제가 학교 공부에 소홀했던걸 느꼈습니다..
입사과제한다고 학교과제는 거의 안했네요..ㅋㅋㅋㅋ 모아둔 돈도 차비에 거의 다 썼어요.
그래도 최선을 다해서 후련하긴 한데 이대로 떨어지기엔 투자한게 너무 많은 것 같기도 하고..ㅎㅎ
사실 1차면접 이후에 혹시모를 최종합격에 대비해서 스프링 책이랑 JSP 책 사서 열심히 병행공부중이었는데 물론 과제도 하면서요 ㅋㅋ
오늘만큼은 그냥 푹 쉬어야겠네요.
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.