1. 트리랑 해시 자료 구조 차이?
2. 프로세스랑 스레드 차이 -> 프로세스는 프로그램이 실행되서 인스턴스화 한거고 스레드는 프로세스의 실행 단위, 스레드는 코드, 힙, 스택 메모리를 공유하지만 프로세스는 그렇지 않다 -> 그럼 프로세스끼리는 공유하는 방법이 있을까요? -> 대답 제대로 못함
3. 실제 메모리보다 큰 메모리로 컴퓨터가 인식하게 할 수 있을까요? -> 가상 메모리 쓰면 됨 -> 가상 메모리 구조? 같은거 물어봤던 거 같은데 제대로 기억 못함 + 대답 병신 같이함
4. TCP/UDP 차이점? -> TCP는 패킷 전송 순서를 교정할 수 있는데 UDP는 그없 이정도밖에 대답못함
5. 자바 메모리 관리는 따로 해보셨냐? -> 아뇨
6. 가비지 컬렉션이 뭔가요? -> 자바 가비지 컬렉션은 코드가 실행되고 나서 쓸모없어진 객체는 자동으로 삭제하는데 그래서 프로그래머가 메모리 관리를 따로 할 필요는 없다, 그에 반해 C++은 그없 -> 그럼 가비지 컬렉션 메모리구조는 어떻게 될까요? -> 대답 못함 -> 영, 올드, 에덴, 서바이버 이런거 들어보셨나요? -> 이게 뭥미?
7. 자바 애플리케이션 실행은 어떻게 하셨나요? 걍 인텔리제이에서 컴파일하고 돌리는 게 끝? -> CLI에서 --java 커맨드 이거밖에 모름
8. Jar 파일 빌드는 써보셨어요? -> Gradle로 빌드하고 AWS에 올려봤다
총평: 빨리 취업하고 싶으신 거는 저희도 이해하는데 자바를 좀 더 깊게 공부하셨어야 할 거 같다. 일요일에 원티드 탈락처리됨.
자바 스트링 버퍼 빌더 차이 같은 기본적인 건 달달 외웠다고 생각했는데 그런건 하나도 안 물어보드라. 스프링 관련 질문도 없었고
진짜 기술면접은 회바회 같은데 걍 인터넷에 나돌아다니는 면접 리스트나 요약책만 갖고 공부하기엔 한계가 있음을 명백히 느낌.
걍 CS 기본기가 존나 부족하네. 학부 때 학점은 잘 받았는데 면접 볼때마다 좆털리고 나오는중
요즘은 면접에서 단순 언어, 프레임워크 관련 질문보다는 CS 전반에 대한 기본기, 기초지식을 위주로 물어보는 추세인 거 같긴 하더라
근데 이것도 회바회드라고 어디는 스프링 관련 물어보는데도 있고 해서 ㅇㅇ
자바보다는 CS를 집중적으로 물어본거네
멋있네요
2번이랑 3번이랑 연계 질문임. 가상 메모리 기법에 대해서 모르면 2, 3번은 답을 못 함
6번의 영-올드는 GC 세대관리쪽에서 나온 거였는데 최근에 생성된 것들이 먼저 쓰레기가 될 확률이 높다. 그러니까 최근에 생성된 객체들을 영이라 하고 GC타임이 오면 영에 속한 객체들을 탐색함. 여기서 살아남은 애들을 올드로 올림. 영에서 탐색했는데도 메모리가 부족하면 올드를 탐색함
4번도 살짝 잘 못 말함. 차라리 TCP는 신뢰성있는 통신이라 하고 UDP는 아니라고 하면 더 두르뭉술하지만 틀린 건 아닌데
올려줘서 고맙다 꿀팁 얻고감 ㄱㅅㄱㅅ
2번은 IPC라고 있음 전형적으로 알면 줄줄 대답가능한데 모르면 아무 말도 안나옴… 백그라운드 지식으로 비벼서 대답이 안되서/ IPC 몰라도 대답할 수 있는게 딱 하나 있는데 소켓임 웹이랑 똑같이 소켓열고 IP랑 포트찍어서 연결하면 통신가능 이걸 대답했으면 IPC는 모르는데 순발력은 좆되는 친구네라고 생각할 듯??
2번은 그리고 가상 메모리랑은 별 관계없음 메모리 가상화(추상화)랑 관계있을 순 있어도..shared memory같은 기법은 OS레벨에서 가상화가 전제된 기법이니까ㅇㅇ 애초에 프로세스끼리 메모리를 공유못하는게 메모리 가상화의 isolation protection때매 그런거기도 하고
3번은 가상메모리 기법으로 가능함. 보조기억장치를 메모리처럼 사용하면 됨. 개인적으로 메모리 가상화랑 용어가 비슷해서 좆같음…
1,5,7,8은 질문이 좀 그렇네
2, 3번은 mmap, API / ipc / socket 등등 아님? - dc App
공유에서 먼소린가 했ㄴ0 - dc App
6번은 세대별 GC랑 GC전략 같은거 말하면 될거같은데 - dc App
단순히 웹하는 회사는 아닌가 - dc App