본문 바로가기

전체 글28

카카오페이 서버 개발자 채용 합격 후기 - (2) 인터뷰 1차 인터뷰 1차 인터뷰를 준비하면서 굉장히 막막했다. 당장에 기초적인 CS 지식은 채울게 너무 많아 보였다. 그리고 인터뷰어가 포트폴리오 프로젝트를 열람한 다음 소스 코드에 대해 물어보시면 답을 제대로 하지 못할 게 뻔했다 (그리고 이건 1차 인터뷰에서 현실이 된다.). 크게 세가지 부분으로 나눠 인터뷰를 준비했다. - 일반적인 기초 CS 지식 - 포트폴리오/경력사항에 작성한 기술 지식 - 포트폴리오 프로젝트 소스 코드 일반적인 기초 CS 지식 기초 CS 지식은 크게 2가지, '면접을 위한 CS 전공지식 노트' 와 GitHub 의 코딩 인터뷰 질문 모음 리포지토리를 보면서 공부했다. 면접을 위한 CS 전공지식 노트 - YES24 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접.. 2022. 7. 5.
카카오페이 서버 개발자 채용 합격 후기 - (1) 서류 + 코딩테스트 입사가 얼마남지 않은 시점에서, 지난 5월에 열린 카카오페이 신입 서버 개발자 채용 합격 후기를 작성한다. 2달의 기간 동안 압축적으로 진행된 이번 채용에서 어떤 과정으로 진행되었고 무엇을 준비했는지 공유해보고자 한다. (그리고 입사 전날 코로롱 확진 판정을 받으면서, 입사는 2주 뒤로 밀리게 되었다😭) 해당 채용 공고는 아래 링크에서 확인할 수 있다. 카카오 영입 [관계사] 카카오페이 신입 서버 개발자 모집 / 테크 / 정규직 careers.kakao.com 전형 절차/자격 요건 일반적인 IT 서비스 기업과 같이, 지원 접수 → 코딩 테스트 → 1차 인터뷰 → 2차 인터뷰로 채용 프로세스가 진행되었다. 코딩 테스트부터 최종 발표까지 약 1달 동안 전형이 빠르게 진행되었는데, 지원자 입장에서는 오래 기다.. 2022. 7. 5.
불변 객체를 어디서 어떻게 활용할까? 최근 도메인 주도 개발과 이펙티브 자바를 공부하면서 공통적으로 불변 객체에 대해 공부하게 되었는데, 어떤 상황에서 불변 객체를 사용해야하고 어떻게 활용해야하는지 정리해보고자 한다. 불변 객체란? 불변 객체란 인스턴스를 생성한 후, 인스턴스의 내부 값을 수정할 수 없는 객체를 말한다. 자바에서 메서드의 인자로 객체의 참조 (reference) 를 전달하거나 메서드 내에서 인스턴스를 생성한 뒤 변수에 할당했을 때, 참조를 통해 값을 수정하면 내부의 상태가 변할 수 있다. 이와 달리 불변 객체의 인스턴스에 간직된 정보는 고정되어 객체가 파괴되는 순간까지 절대 바뀌지 않는다. 이펙티브 자바에서는 불변 객체를 만드는 방법으로 다음의 다섯 가지 규칙을 제시한다. 1. 객체의 상태를 변경하는 메서드 (setter) .. 2022. 6. 26.
2022 코드스쿼드 마스터즈 코스 회고 어느새 상반기를 마무리하는 시점에서, 지난 반년 동안 함께했던 코드스쿼드 마스터즈 코스 과정에 대한 회고를 작성해보고자 한다. 비록 6월말부터 진행할 인턴십 과정이 코드스쿼드에서의 마지막 주간과 겹치는 바람에 수료까지는 함께하지 못하고 조금 일찍 나오게 되어 일찍 회고를 작성하게 되었지만, 이미 대부분의 과정을 진행한 점을 참고하기를 바란다. 코드스쿼드를 선택한 이유 작년 여름에 인턴이 끝나고 나서, 인턴 경력을 갖고 어느 기업이든 뚫을 수 있지 않을까하는 기고만장한 생각을 갖고 있었다. 그리고 단 하나의 지원서도 서류를 통과하지 못한채 하반기가 끝나가고 있었고, 당시 학교에서 진행하던 컴퓨터과학종합설계 프로젝트와 개인적으로 진행하던 풀스택 프로젝트에서 스스로 답답함을 느껴가면서 어떻게 해야 더 성장하는.. 2022. 6. 19.
코드로 스프링 트랜잭션 API 구조 보기 서비스 추상화와 디자인 패턴 PSA (Portable Service Abstraction) 는 로우 레벨의 기술을 추상화하여 (Service Abstraction) 다른 애플리케이션에서 적용할 수 있게 해주는 (Portable) 방법이다. 여기서 서비스의 의미를 생각해봐야 하는데, 애플리케이션의 비즈니스 로직 서비스 계층을 말하는 것이 아니라 기술 서비스 계층을 의미한다. 위 그림은 토비의 스프링 5장 서비스 추상화에서 등장한 구조도로, 트랜잭션의 서비스 추상화를 위해 계층 간 상속관계와 호출을 나타내고 있다. 트랜잭션 기술의 서비스 추상화를 위해 PlatformTransactionManager 라는 인터페이스를 두고 DataSourceTransactionManager, HibernateTransacti.. 2022. 5. 12.
Optional 과 Checked/Unchecked Exception 토비의 스프링 4장 예외 처리 부분을 읽으면서, 데이터 계층에서 SQLException 이 발생했을 때 예외 전환을 통해 Checked Exception 을 Uncecked Exception 으로 전환해 처리하는 방법을 공부하게 되었다. 그런데 이전에 코드스쿼드에서 미션을 진행하는 동안 데이터 계층에서 JDBCTemplate 을 사용하면서, SQLException 을 만났을 때 Optional 객체를 반환하도록 구현한 적이 있었다. 이번 기회를 통해 어떤 방법이 더 좋을지에 대해 비교해보고자 한다. Optional 먼저 SQLException 을 만났을 때 Optional 객체를 반환하는 코드는 아래와 같다. UserJdbcRepository.java public Optional findByUserId(.. 2022. 4. 25.