Array와 LinkedList의 차이가 무엇인가요? (N사 전화면접) Array는 Random Access를 지원한다. 요소들을 인덱스를 통해 직접 접근할 수 있다. 따라서 특정 요소에 접근하는 시간복잡도는 O(1)이다. 반면 Linkedlist는 Sequential Access를 지원한다. 어떤 요소를 접근할 때 순차적으로 검색하며 찾아야 한다. 따라서 특정 요소에 접근할 때 시간복잡도는 O(N)이다. 저장방식도 배열에서 요소들은 인접한 메모리 위치에 연이어 저장된다. 반면 Linkedlist에서는 새로운 요소에 할당된 메모리 위치 주소가 linkedlist의 이전 요소에 저장된다. 배열에서 삽입과 삭제는 O(N)이 소요되지만, Linkedlist에서 삽입과 삭제는 O(1)이 소요된다. 배열에서 메모..
이벤트 버블링(Event Bubbling), 이벤트 캡쳐링(Event Capturing)에 대해서 설명하세요. (D사 화상면접) 이벤트 버블링은 특정 화면 요소에서 이벤트가 발생했을 때 더 상위 요소들로 전달되어 가는 특성을 의미한다. 이벤트 캡처링은 이벤트 버블링과 반대로 상위 요소에서 하위 요소로 탐색하며 이벤트를 전파하는 방식이다. event delegation에 대해 설명하세요. (D사 화상면접) 특정 요소 하나하나를 개별적으로 이벤트를 부여하는 것이 아니라, 하나의 부모에 이벤트를 등록하여 부모가 이벤트를 위임하는 방식을 이벤트 위임이라고 한다. 이 방법은 동적인 요소들에 대한 처리가 수월하며 이벤트 핸들러를 더 적게 등록해 주기 때문에 메모리도 절약할 수 있다. this는 JavaScript에..
class와 id의 차이점을 설명해 주세요. id와 class의 차이는 id는 유일한 요소에 적용할 때, 그리고 css는 복수의 요소에 적용할 때 사용한다는 점이다. 하나의 id는 한 문서에서 한 번만 사용이 가능하지만, 하나의 class는 여러 번 사용이 가능하다. 우선순위는 id가 class보다 높다. float가 어떻게 동작하나요? float 속성은 현재 위치의 왼쪽이나 오른쪽으로 shift되어 배치되는 박스의 일종이다. 이 때 컨텐츠는 float 속성이 적용된 요소의 주변에 위치하게 된다. 클리어링(Clearing)에는 어떤 것들이 있으며, 각각은 어떨 때 사용하나요? float 속성의 영향에서 벗어나기 위해 사용하는 clear 속성은 float의 특성을 지워주는 역할을 한다. 총 4가지 값이 있..
브라우저의 렌더링 과정에 대해서 상세하게 설명해달라 브라우저 주소창에 www.naver.com 치면 -> 네이버 서버를 찾아간다. -> DNS(실제 서버가 어디에있는지 알고 있는 서버)가 연결해줄 곳을 찾음 -> (여기서 주소 앞에 https가 붙었다면 https방식으로 통신하겠다.) -> 서버의 기본설정이 대부분 index.html되어 있어 서버에서 이파일을 클라이언트로 보냄 -> 브라우저는 텍스트로 이루어진 index.html 파일을 파싱한다. -> 한줄한줄 읽으면서 DOM트리를 만들어나감. -> 중간에 link태그를 만나 css요청이 발생하면, 요청과 응답과정을 거치고 css를 파싱함 -> CSS파싱이 끝나면 중단된 html을 다시읽고 DOM트리를 완성 -> 완성된 DOM트리와 CSSOM트리를 합쳐..
질문 #1. 파이썬의 주요 특징에 대해 이야기 해보세요. 파이썬은 인터프리터 언어 이며, 동적타이핑 언어 입니다. 파이썬은 객체지향언어 이고, 간결하고 단순하며 엄청난 크기의 커뮤니티의 지원을 받고 있습니다. 질문 #2. 파이썬에서 list와 tuple의 차이점에 대해 말해보세요. list는 데이터를 변경할 수 있고, tuple은 변경이 할 수 없습니다. 확인코드: l = [1, 2 ,3] t = (1, 2, 3) print(l[0], t[0]) l[0] = 10 print(l) t[0] = 10 print(t) >>> 1 1 >>> [10, 2, 3] Traceback (most recent call last): File "test.py", line 10, in t[0] = 10 TypeError: '..
목차 1. C와 JAVA의 차이점 2. 객체지향 언어의 특징 3. OOP란? 4. JAVA의 특징 5. 스레드의 정의와 특징 6. 스레드의 장/단점 7. 스레드와 프로세스의 차이 8. Session과 Cookie의 차이 9. 모델 1,2,MVC 패턴에 대한 설명 10. Servlet 라이프 사이클 설명 1. C와 JAVA의 차이점 C언어랑, 인간의 명령어를 컴퓨터가 수용할 수 있는 기계적 언어로 변환시켜주는 역할을 한다. 시스템 간 호환 및 이식성이 좋고 고급언어와 저급 언어간의 인터페이스가 용이하다는 특징이 있다. 또한 절차지향 프로그래밍의 대표적 언어로 컴퓨터의 작업 처리 방식과 유사하기 때문에 객체지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하다. JAVA는 인터넷의 분산환경에서..