[CS지식] 면접 질문 정리

😎·2023년 4월 5일
0

CS지식

목록 보기
7/7

📌
이번 면접을 다녀오고 정말.. 기초지식이 부족하다는걸 체감하게 되었습니다..😂😂
전부 기억나진 않지만 답변하지 못했던 질문들 몇가지 정리해겠습니당 ...🌝


☝ Q . SEO와 SEM

먼저 SEO는 (검색엔진 최적화) 오가닉 서치에서 트래픽을 얻기위해 웹사이트를 최적화 하는 것을
말한다. 그러나 SEM 마케팅은 검색및 과금을 하는 방식으로 트래픽을 얻는 방법을 말한다.
SEM은 SEO의 개념과 PPC를 포함한 개념이라고 볼 수 있겠다!

SEO는 무료 검색 엔진 결과 페이지에서 순위를 매기기위해 웹사이트를 지속적으로 최적화 하는 방법을 말합니다.
고객이 구글등 검색엔진에서 검색하는 키워드를 중심으로 상위노출을 목적으로 웹사이트를 최적화 하는것으로 이해할 수 있겠습니다.
방법의 예시로 제목 태그, 메타 디스크립션 및 웹페이지 URL에 '타겟 키워드'를 포함하는 것이 있습니다.


☝ Q . 시멘틱 웹이란?

내용 출처: https://devjixxxx.tistory.com/67

시멘틱 웹은 해석 그대로 '의미론적인 웹'을 말한다.
그럼 이 '의미론적인 웹' 이란 어떤것을 얘기하는 걸까?
웹에 존재하는 수 많은 웹 페이지들에 메타 데이터를 부여하여, 잡다한 데이터들의 집합 이었던
웹페이지를 '의미' 와 '관련성' 을 가지는 거대한 데이터 베이스로 구축하고자 하는 발상 이라고 말한다.

예로

<div id="header"> 내용 </div>
<font size="6"><b>Hello</b></font>

위의 기존에 나타내던 방식이 아닌

<header> 내용 </header>
<h1> Hello </h1>

위의 코드와 같이 태그를 더 의미적으로 담고 있다.

쉽게 생각하면 막연한 태그를 가진 것이 아닌 확실한 의미를 가지는 태그를 사용하고 있는 웹이라고 말할 있겠다


☝ Q . CORS 에러를 프론트 단에서 해결 하는 방법

내용 출처 https://velog.io/@jh100m1/CORS-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%AD%94%EB%8D%B0-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94%EA%B1%B4%EB%8D%B0

구글링 결과 크게 3가지 방법이 있는 것 같다...!

  1. 남이 만든 proxy 서버 이용

    프록시 서버는 클라이언트가 프록시 서버 자신을 통해서 다른 네트워트 서비스에
    간접적으로 접속할수 있게 해준다. 브라우저와 서버 간의 통신을 도와주는
    중계서버로 이해할 수 있겠다.
    요청해야 하는 URL 앞에 프록시 서버 URL을 붙혀 요청하게 되면 해결이 가능하다고 한다.

    https://cors-anywhere/herokuapp.com
    이 서버를 사용하면 중간에 요청을 가로채서 HTTP 응답헤더에 Access-Control-Allow-Origin : * 를 설정해준다.

    axois({
      method:"GET",
      url:`https://cors-anywhere/herokuapp.com/{주소},
      header:{
    	'APIKey':어쩌구
      }
    })
  2. 직접 서버 구축

  3. 로컬한정 http-proxy-middleware 사용

    배포하기 전 로컬환경 한정일 때 사용하면 좋은 라이브러리이다.
    http-proxy-middleware를 설치하고
    setupProxy.js 라는 파일을 src 폴더 내에 만들고 아래 코드를 작성해준다.


☝ Q . 오픈 API 사용법


☝ Q . CMS

CMS란 콘텐츠 관리 시스템(CMS)는 사용자 친화적인 인터페이스를 통해 사용자가 디지털 콘텐츠와 웹사이트를 만들고 관리하는 데 도움이 되는 소프트웨어 응용 프로그램입니다.
-> 라고 합니다....
여러 글을 보고 제가 이해한 개념은
-> CMS란 웹 페이지를 개발자 입장이 아닌 사용자 입장에서 편집 할수 있도록 해주는 소프트웨어 시스템이라는 것.

추후에 더 학습이 필요할 것 같습니다..!


☝ Q .캐싱이란 ?

내용 출처: https://velog.io/@effypark/%EC%BA%90%EC%8B%9C-%EC%BA%90%EC%8B%B1%EC%9D%B4%EB%9E%80

먼저 캐시는 일반적으로 일시적인 특징이 있는 데이터 하위 집합을 저장하는 고속 데이터 스토리지
계층이라고 합니다.
동일한 데이터에 반복해서 접근 하거나 많은 연산이 필요할 때,
결과를 빠르게 이용하고자 성능이 좋은 혹은 가까운 곳에 저장하는 것.
즉, 캐시는 컴퓨터의 성능을 향상시키기 위해 사용되는 메모리를 말합니다.

예를 들어, 한번 접속한 웹 사이트에 동일한 브라우저로 다시 접속할 때 용량이 큰 이미지나 비디오는 다시 받아오지 않고 브라우저 캐시에 저장해 놨다가 동일하게 가져다 쓸 수 있다.
이를 통해 훨씬 빠르게 웹 사이트의 컨텐츠를 볼 수 있다.
📝 이처럼 캐시를 사용하면 과거에 계산한 데이터를 효율적으로 재사용할 수 있는 것

먼저, 컴퓨터 내에 캐시가 있다. CPU 에서 가장 빠른 Register 와 메인 메모리 사이에 캐시 메모리가 존재한다.
캐시가 없었던 시절에 CPU 가 데이터를 요청하면 데이터를 메모리에서 레지스터로 바로 가져왔다.
CPU 처리 속도는 빨라지는데, 연산에 필요한 데이터가 도착하지 않으면 기다려야 했다. 이때 등장한 것이 캐시.

캐싱이란 이 캐시 영역으로 데이터를 가져와서 접근하는 방식을 말한다.


☝ Q . 세션스토리지, 로컬스토리지, 쿠키의 차이

세션 스토리지와 로컬 스토리지는 HTML5에서 추가된 저장소 이다.
저장하고자 하는 데이터를 키-밸류의 값으로 저장할 수 있습니다.
두 개념의 차이는 데이터의 영구성에 있는데, 로컬 스토리지의 경우 사용자가 지우지 않는
이상 계속 브라우저에 남아 있게 됩니다.
하지만 세션 스토리지의 경우 저장된 데이터가 윈도우나 브라우저탭을 닫을 경우 삭제 됩니다.

쿠키또한 클라이언트 단에서 사용하는 저장소 이지만 위의 두 저장소와 다르게 만료기간이 설정됩니다.
쿠키를 사용할 경우 HTTP 프로토콜에서 클라이언트의 정보를 쿠키에 담아 서버로 보내는 요청의 헤더에 쿠키를 이용하여
서버로부터 요청을 보내는 사용자를 인식하게 할 수 있습니다.
이렇듯 쿠키는 처음부터 서버와 클라이언트 간의 지속적인 데이터 교환을 위해 사용한다고 할 수 있습니다.


☝ Q . HTTPS 프로토콜의 동작 원리

기존의 HTTP 방식은 전송중인 데이터를 가로채면 누구나 데이터를 읽을 수 있었다.
가령 고객이 특정 쇼핑몰에서 신용카드 정보를 작성하여 서버에 전송하면, 해당 내용이 전혀 암호화되지 않은 채로 인터넷을 돌아다니게 되는 것...!

HTTPS는 HTTP의 이런 보안적 문제를 해결한 프로토콜이다.
HTTP를 SSL(Secure Sockets Layer) 프로토콜 위에서 돌아가도록하여 클라이언트와 서버가 주고받는 텍스트를 암호화한다.

즉, HTTPS는 HTTP 프로토콜 + SSL 프로토콜이다.

HTTPS를 사용하면 통신 내용이 공격자에게 공격받는 것을 방지할 수도 있고, 클라이언트는 접속하려는 서버가 신뢰할 수 있는 서버인지 판단할 수도 있다.

SSL 프로토콜은 SSL 인증서를 사용해 작동한다.
SSL 인증서는 클라이언트와 서버간의 통신을 제 3자가 보증해주는 전자화된 문서이며,
클라이언트가 서버에 접속하면 서버는 클라이언트에게 이 인증서 정보를 전달한다.
클라이언트는 먼저 이 인증서의 정보가 신뢰할 수 있는지 확인하고나서야, 작업을 수행한다.


☝ Q . CSR과 SSR 이란?

  • 수정 보완 추가 예정 ~!
profile
개발 블로그

0개의 댓글