코드스테이츠 - 3회차 백엔드 부트캠프/Section 1

2022.09.19 월 - 기술면접

곰돌이볼 2022. 9. 19. 15:34

📄 학습내용

기술면접 질문

  • 질문1. static 키워드에 대한 설명 및 사용

    static 키워드는 메모리를 공유하기 위해서 사용하는 키워드입니다.
    static 키워드로 선언된 필드, 메서드, 이너 클래스는 메모리의 메서드 영역에 저장되어서 객체를 선언하지 않고 사용 가능합니다. 여러 객체들끼리 하나의 공유되는 자원을 이용하기 위해서 사용합니다.


  • 질문2. 자바 접근 제어자의 특징과 종류

    객체지향 프로그래밍에서 핵심 중 하나인 캡슐화를 구현하기 위해서 자바에서는 접근 제어자를 사용합니다.
    자바 접근 제어자에는 private, default, protected, public이 있습니다.
    private로 선언된 것은 선언된 클래스 내부에서만 사용 가능합니다.
    default는 접근 제어자를 선언하지 않은 경우로, 같은 패키지 이내에서 접근 가능합니다. 
    protected로 선언된 것은 다른 패키지의 하위 클래스에서까지 접근이 가능합니다.
    public은 다른 패키지 이외의 모든 곳에서 사용 가능합니다.
    • 꼬리질문 : 왜 접근 제어자를 사용하는가?
      보안

 

  • 질문3. 추상 클래스와 인터페이스의 차이

    추상 클래스와 인터페이스는 자바의 추상화를 구현의 핵심 역할을 하는 것입니다.
    추상 클래스는 최소 하나 이상의 추상 메서드를 가지고 있거나 abstract 키워드가 붙은 클래스입니다.
    하지만 인터페이스는 추상 메서드만으로 구성된 클래스입니다.
    추상 클래스와 인터페이스를 상속받은 클래스에서 추상 메서드를 구현해야 사용가능합니다.
    자바는 클래스를 하나만 상속 가능하고 다중 상속을 지원하지 않기 때문에 여러 인터페이스를 사용해서 다중 상속과 유사한 기능을 가질 수 있습니다.
    • 꼬리질문 : 왜 사용하는가?
      인터페이스 : 큰 프로젝트에서 협업을 위해서 많이 사용
      추상 클래스 : 상속 강제화

 

  • 상대 페어로부터 새로 배운 것
    • 문제 1번에서 자바 데이터 타입 중 기본형과 참조형의 차이에 대해 기술면접을 하셨고, 그 때 처음 듣는 가변성과 불변성에 대해서 생각하게 되었다. 

 

  • 보완할 부분
    1. 키워드를 바탕으로 면접 연습
    2. 공부한 것을 내 것으로 만들기
    3. 다양한 방면으로 생각해보기
    4. 확신이 없는듯한 말투 쓰지 않기
    5. 얼굴에 손대지 않고 정자세로 면접에 임하기

 

개발자 관련 도서

  • 선택한 도서 : 「 커리어 스킬 」 - 존 소메즈

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791160507621&orderClick=LAG&Kc= 

 

커리어 스킬 - 교보문고

완벽한 개발자 인생 로드맵 | 개발자, 당신에게 필요한 모든 것!열심히 할 걸, 좀 더 버텨볼 걸, 더 좋은 선택을 할 걸... 약하고, 모르고, 지쳐서 뜻대로 안 되는 사람을 위한 처방전!ㆍ 이제 시작

www.kyobobook.co.kr

 

  • 도서 선택 이유
    개발자가 되기 위한 전반적인 과정을 알 필요가 있다고 느꼈다. 코드 스테이츠만을 믿고 가는 것이 아니라 나 스스로도 길을 개척하고 파악해야 한다. 끊임없이 발전해야하고 그 방법을 잘 모르고 있다고 생각했고 이때 도움이 되는 도서가 "커리어 스킬" 이라고 생각했다. 개발 관련 기술이 뛰어난 것도 중요하지만 어제 코드 스테이츠 멘토님께서 하신 말씀에 대해서 생각해보니 다른 부분도 신경써야 한다고 생각한다. "회사는 왜 신입 개발자를 뽑을까? 그들의 상황을 상대적으로 잘 이해하고 있는 상황에서 어떤 것을 요구하는가? 다른 직종에 비해서 중고신입(?)을 요구하는 경우가 적은데 그 이유는 무엇일까?" 에 대해서 생각해보았다. 그들의 개발 가능성? 시니어 개발자에 비해 저렴한 그들의 비용? 이것도 아닌 것 같다. 실력이 아닌 협업이 중요한 거 아닐까 싶다. 일단 "커리어 스킬"을 읽으면서 협업에 대한 스킬을 어떻게 키울 수 있을지 고민해야겠다. 

 

  • 다른 추천 도서 1) 「 Clean Code(클린 코드) 」 - 로버트 C.마틴

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&barcode=9788966260959 

 

Clean Code(클린 코드) - 교보문고

애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유

www.kyobobook.co.kr

  • 다른 추천 도서 2) 「 리팩토링 Refactoring - 코드 품질을 개선하는 객체지향 사고법 」 - 마틴 파울러

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=20793053 

 

리팩토링 Refactoring

리팩토링은 코드의 동작이나 의도는 유지하면서 코드의 구조, 재사용성, 가독성을 개선해 코드의 악취를 제거하고 전체 디자인을 개선하는 방법이다. 이 책은 72가지 리팩토링 기법을 통해 코드

www.aladin.co.kr

  • 다른 추천 도서 3) 「 한 권으로 읽는 컴퓨터 구조와 프로그래밍 더 나은 소프트웨어 개발을 위한 하드웨어 」 - 조너선 스타인하트

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&barcode=9791189909284 

 

한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 교보문고

더 나은 소프트웨어 개발을 위한 하드웨어 | 대부분의 개발자들은 자신이 만든 프로그램을 움직이는 하부 기술에 대해 잘 알지 못한다. 코드가 잘 도는데 구태여 근원적인 하부 기술에 신경을

www.kyobobook.co.kr

  • 다른 추천 도서 4) 「 오늘도 개발자가 안 된다고 말했다 개발 협업이 어려운 기획자&디자이너를 위한 필수 가이드북 」 - 김중철, 김수지

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&barcode=9788960883727 

 

오늘도 개발자가 안 된다고 말했다 - 교보문고

개발 협업이 어려운 기획자&디자이너를 위한 필수 가이드북 | “C를 배워보세요. 코딩의 본질을 제대로 이해할 수 있어요!”“Java를 배워보세요. 써먹을 곳이 많고 우리나라에서 많이 사용해요!

www.kyobobook.co.kr

 

🎡 페어리뷰

 

🌕 느낀점

  이때까지 개발 관련 프로젝트나 스터디에 들어갈 때 큰 제약없이 접근을 가능해서 기술 면접에 대해서 신경을 쓴 적이 없었다. 취업에 대해서도 큰 신경을 쓰지 않아서 그런 경향이 있었던 것 같다. 그래서 이번에 한 기술 면접이 처음이었고, 준비 시간이 상당히 짧다고 느꼈다. 내게 주어진 질문을 소화하고 연습할 시간도 부족했지만 상대 페어는 자신의 준비도 잘 해오셨고, 나의 질문에 대해서 많이 찾아오셨다. 그리고 내가 질문을 했을 때 적절하게 대응하면서 답변을 해주셨다. 그것을 보면서 아직 내가 답변에 대응하는 능력이 많이 떨어진다고 느꼈다. 그리고 비전공자가 사용할만한 언어말고 CS에 관련된 말도 해야겠다고 느꼈다. (ex. 값 넣기 X → 값 할당하기) 평소에 기술면접과 관련된 준비를 조금씩하고 배운 것에 대해서 정리하고 말하는 연습을 할 필요성을 느꼈다.
  마지막으로 미니 잡서치에서 도서를 추천했고 과제를 제출하는 것이 있었다. 읽고 있던 책이 있어서 굳이 읽어야하나 생각을 했는데 필요한 것 같다. 지금 당장 급한 건 아니어도 미래를 보는, 숲을 보는 능력이 필요한 것 같다.