본문 바로가기

취업

2019 네이버 개발 공채 1차 면접 후기 이제 교육이 끝나고 부서로 가는 걸 기념하기 위해(?) 우리 회사 면접 후기를 써보려고 합니다. 보안 서약 때문에 당연히 자세한 건 쓸 수 없습니다. 짤리기 싫어요. ㅠㅠ 지원서 & 코딩테스트 면접에 갈거라고 상상도 못하고 지원서는 정제되지 않은 말투로 써서 냈어요. 정말 가관..인 상태로.. 근데 코딩테스트가 웬걸 풀만한 겁니다. 제 나름대로의 센스를 보여줄 수 있는..? 그래서 운 좋게도 코딩테스트 통과하고 1차 면접행 면접 전 / 준비 과정 메일로 언제 와라 뭘 준비해라 대충 이런걸 할거다를 알려주셨었습니다. 일단 대책이 없으니.. CS공부만 죽어라 하다가 갔어요. 기초부터 잡았습니다. 10월 16일 면접이었는데, 그 전후 주말들이 죄다 인적성 혹은 코테였고, 10월 14일은 라인 면접이기까지해서,..
신한은행 디지털/ICT 수시채용 1차면접(+코딩테스트) 후기 신한은행은 정말 오랫동안.. 잘 사용하고 있는 은행이라.. 떨어지면 은행을 바꿔야한다는 생각에 무거운 마음으로 지원을 했었습니다..ㅋㅋㅋㅋㅋㅋ (그리고 현재 바꿀 준비중) 수시채용이라 서류에서 더 열심히 거르고 바로 면접으로 올려줍니다. 그래서 서류 붙은 것조차 신기했었죠 (물론 서류부터 떨어지면 고민도 안하고 바로 은행 바꿈) 서류부터 1차면접까지의 일정 지원서 접수 : 9월 18일 ~ 10월 2일 서류 합격 발표 : 10월 15일 1차면접(코딩테스트) : 10월 23일 1차면접(심층면접) : 10월 28일 ~ 10월 30일 코딩테스트 문제가 어렵다긴 보단 더럽습니다. 문자열 다루는 문제나 날짜 다루는 문제가 많이 나왔습니다. 이런 문제는 저처럼 C++로 버티지 말고 Python으로 푸는 것을 강력히 ..
2019 하반기 기업은행 디지털 1차 면접 후기 드디어 맘 편히 후기를 쓸 수 있네요! 면접을 꽤나 다양한 회사에서 본 편인데 다른 분들을 위해 천천히 후기를 남겨보려 합니다. 기업은행은 모의고사 2회 풀고 운 좋게 거의 턱걸이로 합격해서 면접에 다녀왔어요. 합숙 면접은 처음이라 새로운 경험이었습니다. 떨어졌지만 결과에 상관 없이 2일 동안 좋은 조원분들, 면접관님, 서포터즈님을 만나 즐거웠습니다! 하지만 몸은 엄청 힘들었고, 합숙 면접이 있는 회사라면 앞으로 지원하지 않을거에요 ㅠ 물론 이제 공채를 할 일이 없어서 그럴 일이 없겠지만.. 연수원은 너무 좋고 밥도 맛있었어요! 아침 풍경 사진 올려드릴게요. 그럼 이제 본격적으로 자세한 프로그램과 후기를 말씀드리겠습니다. 1일차 아이스브레이킹 (자기소개, 조표어/조구호/조가/조이름 정하기) 저는 그 때 ..
pure OOP / Java는 왜 pure OOP가 아닐까? pure OOP Pure Object Oriented Language 혹은 Complete Object Oriented Language 는 말 그대로 완전히 OOP를 지향하고 관련 기능을 support하는 언어를 말한다. primitive type의 변수조차 없이 모든 변수가 객체여야 한다는 점이 가장 특징적이다. 아래에서 좀 더 구체적인 pure OOP의 조건을 알아보자. pure OOP의 조건 Encapsulation/Data Hiding 캡슐화/은닉화 Inheritance 상속 Polymorphism 다형성 Abstraction 추상화 All predefined types are objects 이미 작성된 타입이 모두 객체 All user defined types are objects 사용자가 작성..
[보안] 대칭키 / 비대칭키(공개키) / SSL handshaking 대칭키 방식 암호화/복호화를 같은 키를 통해 수행하는 것. 장점 키의 크기가 상대적으로 작고, 알고리즘 내부 구조가 단순하여 개발이 쉽다. 연산 속도도 빠르다 단점 키 자체는 암호화 되지 않기 때문에 분실되거나, 타인에게 노출되면 큰일(...)난다. 키를 매우 신경써서 관리해야 한다. 키를 전달하기가 어렵기 때문에 잦은 키 변경이 있는 경우 불편함을 초래한다. 전자서명에는 적용할 수 없다. 안정성을 분석하기가 어렵고, 중재자가 필요하다. 결국 보안에 취약하다. 종류 블록 암호 스트림 암호 비대칭키 (공개키) 방식 암호화/복호화를 각각 다른 키로 수행하는 것. 암호화를 public key, 복호화를 private key로 사용하는 경우 어떤 내용이든 자신만 복호화할 수 있어야 하는 경우 사용 일반적인 데이..
깊은 복사 VS 얕은 복사 (Deep Copy VS Shallow Copy) (아주 간단하게 설명됨 주의) 얕은 복사 Shallow Copy 변수 혹은 객체의 주소값(참조값)을 복사하는 것 메모리 상의 같은 곳을 가리키는 참조 변수가 하나 더 생기게 됨 C, C++에서 포인터 사용 시 얕은 복사가 이루어짐 int a = 3; int* p = &a; // Shallow Copy a = 5; printf("%d", *p); // 출력 : 5 물론 엄밀히 말하면 포인터는 Shallow Copy의 영역이 아니긴 하고(명시적으로 주소값을 복사하는 것이기 때문에)오히려 Shallow Copy를 이해하는데 도움이 되는 친구라서, JAVA 코드를 하나 더 준비했다. int[] arr = { 1, 2, 3 }; int[] arr2 = arr; for(int i = 0 ; i < 3 ; i++) ..
[알고리즘/정렬] Quick Sort 퀵 정렬 - C++ 코드, 시간/공간 복잡도 알고리즘에 대한 설명은 생략하고, 바로 코드로 넘어가겠다 void quickSort(vector& v, int s, int e) { int pivot = v[s]; // 임의 선택 int bs = s, be = e; while(s v[s] && s e) break; swap(v[s], v[e]); } if(bs e) // 오른쪽 quickSort(v, s+1, be); } 코드를 풀어서 설명하자면, v[s] < pivot < v[e] 는 정상이다. 그 경우 s++, e--를 해야한다. (그냥 넘어가야 하..
[알고리즘/정렬] Merge Sort 합병 정렬 - C++ 코드, 시간/공간 복잡도 알고리즘에 대한 설명은 많은 곳에 있으니 생략하고, 코드와 시간복잡도 및 공간복잡도만 살펴보겠다. void mergeSort(vector& v, int s, int e) { if(s >= e) return; int m = (s+e)/2; // divide mergeSort(v, s, m); // s ~ m mergeSort(v, m+1, e); // m+1 ~ e // conquer vector ret(e+1); int ret_idx = 0; int i = s, j = m+1; // i : s ~ m, j : m+1 ~ e // 결과를 저장할 배열에 하나씩 비교하여 저장 while(i