쌩신입의 카카오뱅크 도전기
아쉬움을 보내기 위해 결론부터 쓰면 마지막 임원면접에서 떨어졌다. 며칠동안 정말 아쉬워서 잠도 제대로 못잤는데, 이제는 떨쳐내기 위해 이 글을 쓰면서 길다면 길었던 여정의 마침표를 찍어볼까 한다. 글을 시작하기 전에 잠시 내 정보를 요약하자면, 관련 업계 경력은 전혀 없는 신입이고 제지공장 생산직과 복싱장 코치로 일한 경험은 있다. 그리고 내...
아쉬움을 보내기 위해 결론부터 쓰면 마지막 임원면접에서 떨어졌다. 며칠동안 정말 아쉬워서 잠도 제대로 못잤는데, 이제는 떨쳐내기 위해 이 글을 쓰면서 길다면 길었던 여정의 마침표를 찍어볼까 한다. 글을 시작하기 전에 잠시 내 정보를 요약하자면, 관련 업계 경력은 전혀 없는 신입이고 제지공장 생산직과 복싱장 코치로 일한 경험은 있다. 그리고 내...
인덱스란? 인덱스는 테이블의 컬럼을 색인화 함으로서 책의 목차와 유사한 기능을 제공한다. 데이터를 정렬 후 별도의 메모리 공간에 저장하는데, 이 형태는 key, value 쌍으로 구성된다. 인덱스를 저장하는 방식에도 종류가 있는데, 대표적으로 클러스터형 인덱스와 논클러스터형 인덱스로 구분할 수 있다. 클러스터 인덱스 클러스터 인덱스는 데이터...
거품 정렬(Bubble Sort) public void bubbleSort(int[] arr) { int temp = 0; for(int i = 0; i < arr.length; i++) { for(int j= 1 ; j < arr.length-i; j++) { if(a...
동기화란? 작업들 사이의 수행 시기를 맞추는 것. 사건이 동시에 일어나거나, 일정한 간격을 두고 일어나도록 시간의 간격을 조정하는 것을 이른다. -네이버 국어사전- 국어사전에 따르면 ‘동기화’에 대해 위와 같이 설명하고 있다. 컴퓨터 과학에서도 비슷한 의미로 통용되는데, 작업들의 수행 시기를 맞추면서 여러 프로세스가 공유하고 있는 자원이...
ArrayList란? ArrayList는 크기가 가변적으로 변하는 리스트이다. 일반적인 배열로 데이터를 다룰 때에는 처음 설정한 사이즈 그대로 다뤄야 한다는 불편함이 있지만, ArrayList는 데이터 크기에 따른 배열의 사이즈를 내부에서 자동으로 관리해준다. 내부 구현 생성자 private static final Object[] EMPT...
리플렉션이란? 사전적 의미로는 ‘반사’라는 뜻을 가지고 있으며, 자바에서는 런타임 단계에서 클래스, 메서드 등의 정보를 얻어오는 기술을 뜻한다. 연못에 형상이 반사되어 비치듯이, 투영된 클래스의 정보를 얻어온다는 의미로 이러한 이름이 붙은게 아닌가 싶다. 리플렉션을 활용하는 대표적인 사례로는 Jackson과 같이 객체를 매핑해주는 라이브러리가 있...
static 이란? static은 정적으로 할당되는 변수, 함수, 클래스 등에 사용되는 키워드이다. 전역으로 공유되는 고정된 변수나 메서드를 정의할 때 사용되며, 프로그램의 생성과 동시에 static 영역에 할당되고 프로그램이 종료될 때 까지 유지된다. 사용 예시 static 키워드 사용 시 개발자가 별도의 객채 생성 과정을 거치지 않고 변수...
try with resources 란? try with resources는 자원 반납 코드를 자동으로 실행되도록 지원해주는 문법이다. 파이썬에서는 with, C#에서는 using과 같은 유사한 문법이 존재한다. 기존 방식 (try-catch-finally) 문제점 public static void main(String args[]) { ...
해시 함수란? private void hash(int x){ return x % 5; } hash(7); // 2 hash(8); // 3 hash(9); // 4 해시 함수는 입력값을 고정된 길이의 특정 값으로 출력하는 함수이다. 출력 데이터인 해시값은 동일한 입력에는 항상 동일한 값을 리턴한다. 모듈러 연산(나머지 계산...
서론 병렬 처리란 CPU의 멀티 코어를 활용, 작업의 요소를 분할해서 각각의 코어가 처리하는 것을 말한다. Java 8부터 Stream API가 도입되었고, 해당 기능을 이용해 손쉽게 병렬 처리를 구현 가능하다. 병렬 처리가 더 많은 코어를 활용하기 때문에 항상 빠르다고 생각할 수도 있으나 그렇지는 않다. 병럴성 데이터 병렬성 데이터를 분할해서...