브라우저의 동작 원리를 간단하게 설명해 주세요. 브라우저의 기본적인 역할은 HTML, CSS 명세에 따라 HTML 파일을 해석해서 표시하는 것이다. 브라우저를 구성하는 요소는 사용자 인터페이스, 브라우저 엔진(크롬, 사파리는 Webkit, 파이어폭스는 Gecko), 렌더링 엔진, 통신, UI 백엔드, 자바스크립트 해석기, 자료 저장소 등이 있다. 렌더링 엔진은 먼저 HTML 문서를 파싱해서 DOM 트리를 구축한다. 그리고 CSS 마크업을 파싱해서 앞서 구축한 DOM 트리와 함께 렌더링 트리를 만든다. 렌더링 트리는 화면에 보여줄 것들만 가지고 있는 트리로, 구축이 되면 순차적으로 화면에 배치한다. 부모에서 자식 순서로 배치는 진행된다. 배치가 완료되면 그리기를 시작한다. CORS가 무엇이며 어떻게 해결을..
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. PK, FK, ER 모델이란? 2. 참조 무결성이란? 3. RDBMS란? 4. DB에서의 commit와 rollback 이란? 5. DBMS( DataBase Management System ) 6. DB정규화란? 7. DB정규화의 목적? 8. 데이터베이스의 정규화에 대하여 설명 9. SQL? 10. PLSQL이란? 11. Inner 조인, outer 조인 1. PK, FK, ER 모델이란? - PK ( Primary Key ) : 테이블에서 각 Row를 유일하게 구분하는 Column-Key - FK ( Foreign Key ) : 하나의 테이블에 있는 Column으로는 그의미를 표현할 수 없는 경우, 다른 테이블의 Primary-Key Column 의 값을 반드시 참조하여 표현해야 하는 Colum..
자기소개 회사에 지원하게 된 동기 아이폰 개발을 시작하게 된 동기 지금까지 사용한 모바일 서비스중 어떤것이 가장 임팩트 있었고, 그렇게 생각한 이유는 무엇인가 폐쇄형 SNS 서비스와 페이스북의 지인 관계 네트워크간의 차이점은 무엇인가 모바일 서비스에 지원하였다고 했는데 PC와 모바일의 차이점은 무엇이라고 생각하는가 본인은 어떠한 서비스를 개발하고 싶은가? → SNS 서비스 기존의 SNS 서비스에서 수정할 것이 있다면 어떤 기능을 수정하거나 추가하고 싶은가? iOS 관련 퀴즈 (10 문제/30분) 주어진 NavigationBar에서 NavigationItem 붙이는 부분 코드로 구현 reference count 변화 적기 (alloc, release, Autoreleasepool, performDelay로..