본문 바로가기

기술면접7

Semantic HTML의 필요성을 예시를 들어 설명해 주세요. 👩🏻‍💻 Semantic HTML의 필요성을 예시를 들어 설명해 주세요. 💁🏻‍♀️ 요약하자면 , Semantic HTML은 웹 페이지의 각 요소에 의미를 부여하는 HTML 마크업 방법입니다. 이는 웹 페이지의 구조와 의미를 더 명확하게 전달하며, 결국 검색 엔진 최적화(SEO)와 웹 접근성을 향상시키는 데 기여합니다. 예를 들어, HTML 안에 제목, 내용, 푸터로 내용이 나눠져 있음에도 불구하고 모든 요소를 태그로 씌운다면 코드를 보는 개발자 입장에서 웹 페이지 구조와 의미가 정확하게 보이지 않을 뿐 아니라, 우리가 애써 만든 웹 사이트가 검색 엔진에 최적화되지 않을 것입니다. 제목 내용 따라서, HTML의 각 영역은 각 영역의 의미에 맞게 요소는 웹 페이지의 제목, 요소로는 섹션을 정의, 요소로는 .. 2023. 5. 9.
HTTP 메세지 구조에 대해 설명해 주세요. 👩🏻‍💻 HTTP 메세지 구조에 대해 설명해 주세요. 💁🏻‍♀️ 요약하자면 , HTTP 메시지는 크게 start line, HTTP header, empty line, body로 나뉩니다. 메시지의 구조 1. start-line 요청이나 응답의 상태를 나타내며 항상 첫 번째 줄에 위치합니다. 어떤 프로토콜을 사용하는지, 어떤 HTTP 메서드인지, 상태 코드는 무엇인지 등을 나타냅니다. 2. HTTP header 요청을 지정하거나, 메시지에 포함된 본문을 설명하는 헤더의 집합입니다. 3. empty line 헤더와 본문을 구분하는 빈 줄이 있습니다. 4. body 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함합니다. 요청과 응답의 유형에 따라 선택적으로 사용되는데요. GET, DELETE,.. 2023. 4. 10.
GET 메서드와 POST 메서드의 차이점에 대해 설명해 주세요. 👩🏻‍💻 GET 메서드와 POST 메서드의 차이점에 대해 설명해 주세요. 💁🏻‍♀️ 요약하자면 , GET은 서버에서 데이터를 조회할 때 쓸 수 있는 메소드고, POST는 서버에서 데이터를 추가할 때 사용하는 메소드 입니다. GET과 POST 요청에는 각각 어떻게 정보를 담을 수 있나요? GET은 단순히 조회를 요청하기 때문에 body를 보내지 않는 것이 보편적이기에 query parameter나 path parameter를 씁니다. POST 요청에서는 추가하고자 하는 데이터를 HTTP body에 담아 전달합니다. 각 요청의 특징은 어떻게 되나요? GET은 요청을 무한대로 보내도 같은 요청을 회신받을 수 있는 멱등성을 가지고 있습니다. 반면 POST는 요청을 무한대로 보내면 최초 응답과는 다른 회신을 받게.. 2023. 4. 10.
useEffect의 dependency array에 대해서 설명해 주세요. 👩🏻‍💻 useEffect의 dependency array에 대해서 설명해 주세요. 💁🏻‍♀️ 요약하자면 , useEffect란, 컴포넌트 내에서 사이드 이펙트를 실행할 수 있게 하는 훅입니다. useEffect는 첫 번째 인자로 콜백함수를 받고, 두 번째 인자로 배열을 받는데, 이 배열을 dependency array 라고 합니다. dependency array란 무엇인가요? 종속성 배열이라 부르는 이유는 useEffect의 실행이 화면에 처음 렌더링 될 때 그리고 종속성 배열의 value 값이 바뀔 때마다 실행되기 때문입니다. 만약 빈 배열이 전달된다면 첫 렌더링될 때만 실행됩니다. useEffect에 dependency array를 주지 않으면, 상태가 변경될 때마다 컴포넌트가 리렌더링이 됩니다. .. 2023. 4. 10.
React 컴포넌트의 key 속성에 대해 설명해 주세요. 👩🏻‍💻 React 컴포넌트의 key 속성에 대해 설명해 주세요. React에서 리스트 형태로 컴포넌트를 렌더링 할 때, key 값을 넣어달라는 console 에러가 자주 뜨는데요. 이때 이 key 값이 어떠한 역할을 할까요? 💁🏻‍♀️ 요약하자면 , key는 React가 어떤 항목을 변경하거나 추가할지 또는 삭제할지 구별하도록 돕는 역할을 합니다. key는 엘리먼트에 안정적인 고유성을 부여하기 위해 배열 내부의 엘리먼트에 지정해야 합니다. key 속성은 같은 컴포넌트를 여러 번 렌더링할 때, 다른 컴포넌트임을 구분하기 위해 사용하는 속성인데요. 예를 들어, 10개의 트윗 중 하나의 트윗만 변경되었을 때 해당 트윗만 재렌더링하고, 다른 9개의 트윗은 그대로 둘 수 있습니다. 이렇게 key 속성을 활용하.. 2023. 4. 10.
순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해 주세요. 👩🏻‍💻 순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해 주세요. 💁🏻‍♀️ 요약하자면 , 순수함수란 사이드 이펙트가 없는 함수, 즉 함수의 실행이 외부에 영향을 끼치지 않는 함수를 뜻하고, 입력으로 전달된 값을 수정하지 않는 불변성을 가지고 있습니다. 따라서 순수함수는 어떠한 전달인자가 주어지더라도 항상 똑같은 값이 리턴됨을 보장합니다. 사이드 이펙트란? 함수의 입력 외에도 함수의 결과에 영향을 미치는 요인 입니다. 대표적으로 네트워크 요청, API 호출이 Side Effect입니다. 순수함수 개념이 중요한 이유는? 사이드 이펙트를 줄이고, 모듈화 수준을 높이는 함수형 프로그래밍의 특징, 즉 순수함수는 평가 시점이 무관하다는 특징으로 인해 효율적인 로직을 구성할 수 있습니다. 데이터의 .. 2023. 4. 10.
SOP와 CORS에 대해서 설명해 주세요. 👩🏻‍💻 Same-Origin Policy와 CORS에 대해서 설명해 주세요. 💁🏻‍♀️ 요약하자면 , SOP는 '동일 출처 정책'으로, 같은 출처의 리소스만 공유가 가능하다는 정책이며, CORS는 '교차 출처 리소스 공유' 입니다. 브라우저는 SOP에 의해 기본적으로 다른 출처의 리소스 공유를 막지만, CORS 설정을 통해 접근 권한을 얻을 수 있습니다. SOP(Same-Origin Policy) SOP의 출처는 프로토콜, 호스트, 포트의 조합으로 되어 있는데, 이 중 하나라도 다르면 동일한 출처로 보지 않습니다. 덕분에 잠재적으로 해로울 수 있는 문서를 분리함으로써 공격받을 수 있는 경로를 줄여주기 때문에 해킹 등의 위협으로부터 안전해질 수 있습니다. 기본적으로 모든 브라우저는 SOP 정책을 사용하고.. 2023. 4. 5.