Computer Science
-
[Section3] 기술면접 준비Computer Science/면접 대비 2023. 7. 6. 13:30
재귀 재귀를 활용하기 좋은 상황은 언제인지 예시를 들어 설명해 주세요. 재귀함수는 자기 자신을 호출하는 함수로 주어진 문제를 비슷한 구조의 작은 문제로 나눌 수 있는 경우 사용하기 좋다. UI/UX UI, UX의 개념과 두 개념의 관계에 대해서 설명해 주세요. UX는 user experience로 사용자가 서비스를 이용하면서 느끼고 생각하는 모든 경험을 의미한다. UI는 user interface로 사람과 컴퓨터가 상호작용하는 시스템을 뜻한다. UX는 UI를 포함하는 관계이다. 그러나 항상 좋은 UX가 좋은 UI를 의미하거나, 좋은 UI가 항상 좋은 UX를 보장하지는 않는다. Custom Component Styled Components를 사용해 보면서 느낀 장점을 이야기해 주세요. 기존에 HTML, C..
-
[Section2] 기술면접 준비Computer Science/면접 대비 2023. 6. 8. 13:47
1. JavaScript Promise의 기능과 필요한 이유에 대해서 설명해주세요. 콜백 중첩을 해결하기 위해 등장한 것이 Promise입니다. Javascript 에서는 대부분의 작업들이 비동기로 이루어집니다. 이전에는 콜백 함수로 처리하면 되는 문제였지만 요즘에는 프론트엔드의 규모가 커지면서 코드의 복잡도가 높아지는 상황이 발생하였습니다. 이러면서 콜백이 중첩되는 경우가 따라서 발생하였고, 이를 해결할 방안으로 등장한 것이 Promise 패턴입니다. Promise를 사용하면 비동기 작업들을 순차적으로 진행하거나, 병렬로 진행하는 등의 컨트롤이 보다 수월해집니다. 또 예외처리 구조가 존재하기 때문에 오류 발생에 대해 더 쉽게 관리할 수 있습니다. 순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여..
-
[CS 지식] REST APIComputer Science/면접 대비 2023. 6. 2. 21:25
🌱REST Representational State Transfer REST 는 하나의 아키텍쳐에 가깝다. 그래서 몇 가지 주요 원칙들이 존재하며, 이를 잘 지킨 API를 "REST ful" 하다고 표현한다. RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가가 공식적으로 발표한 것이 아니다. 즉, REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭된다. HTTP 프로토콜을 기반으로 요청과 응답에 따라 리소스를 주고받기 위해서 알아보기 쉽게 작성해야할 필요가 있다. 🌱구성요소 REST API 는 자원, 행위, 표현으로 구성된다. API 만으로도 HTTP 의 요청을 직관적으로 이해할 수 있다. 🌿자원 : URL 자원은 서버에 저장되어 있으며, 해당 자원에 접근할 수 있는 URI ..
-
[CS지식] OSI 7계층, 주요 프로토콜Computer Science/면접 대비 2023. 5. 23. 20:59
OSI 7계층? 개방형 시스템 상호 연결 모델의 표준 실제 인터넷에서 사용되는 TCP/IP 는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화한 것이다 7. 응용계층 인터페이스 역할을 하는 계층 HTTP: 웹에서 HTML, JSON 등 정보를 주고 받는 프로토콜 FTP: 파일 전송 프로토콜 SMTP: 메일을 전송하기 위한 프로토콜 SSH: CLI 환경의 원격 컴퓨터에 접속하기 위한 프로토콜 RDP: Windows 계열의 원격 컴퓨터에 접속하기위한 프로토콜 WebSocket: 실시간 통신, push 등을 지원하는 프로토콜 6. 표현 계층 데이터를 어떻게 표현할지 정하는 역할을 하는 계층 5. 세션 계층 통신 장치 간 상호작용 및 동기화를 제공하는 계층 4. 전송 계층 종단 간 신..
-
[CS 지식] HTTP vs HTTPS / 대칭키 암호화 vs 공개키 암호화Computer Science/면접 대비 2023. 5. 17. 23:49
🌱포트 (Port) 운영체제 통신의 종단점, 논리적인 접속장소 TCP/IP를 사용할 때는 클라이언트가 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용한다. 하나의 컴퓨터에서 여러 개의 서버가 실행될 수 있고, 만약 그렇다면 어느 서버에 접속해야 하는지 컴퓨터에게 알려주어야 한다. 이때 사용되는 것이 포트 번호이다. 포트 번호는 서버를 구분짓기 위한 16비트의 논리적 할당이다. 컴퓨터에 있는 웹서버는 기본적으로 80포트이며, 아래 주소는 모두 같은 구글 주소를 뜻한다. 80포트는 생략이 가능하다. http://www.google.com/ http://www.google.com:80/ 🌿URL Uniform Resource Locator의 약자 http://www.domain.com:1234/pa..
-
[Node.js] 백준 실버5 2751 수 정렬하기2Computer Science/알고리즘 2023. 5. 11. 10:09
https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 0. 시도 처음 풀었던 방법으로는 버블정렬 알고리즘을 이용하였는데 이렇게 하니까 시간 초과 에러가 났다. 버블 정렬 쓴 코드는 아래와 같다.. temp라는 변수를 하나 만들어서 swip 하는 방식으로 버블 정렬을 사용했다. const fs = require('fs') const filePath = process.platform === 'linux' ? '/dev/stdin' : './예..
-
[JS] 알고리즘 문제 풀이Computer Science/알고리즘 2023. 4. 27. 09:12
1. 객체를 입력받아 number 타입의 값을 갖는 속성을 모두 제거해야 합니다. 개념 const object1 = { a: 'somestring', b: 42 }; for (const [key, value] of Object.entries(object1)) { console.log(`${key}: ${value}`); } // Expected output: // "a: somestring" // "b: 42" 코드 function removeNumberValues(obj) { for (const [key, value] of Object.entries(obj)){ if(typeof value === "number"){ delete obj[key]; } } } 2. 문자열을 입력받아 문자열을 구성하는 각 ..
-
[JS] 전화번호 형식의 문자열을 리턴하는 알고리즘 풀이Computer Science/알고리즘 2023. 4. 25. 17:34
1. 문제 0-9 사이의 정수를 요소로 갖는 배열을 입력받아 전화번호 형식의 문자열을 리턴해야 합니다. 인자 1 : arr number 타입을 요소로 갖는 배열 arr[i]는 0 이상 9 이하의 정수 배열의 길이는 8 또는 11 출력 string 타입을 리턴해야 합니다. 주의 사항 반복문(for, while) 사용은 금지됩니다. 배열의 길이가 8인 경우, 앞에 [0, 1, 0]이 있다고 가정합니다. 예시 let output = createPhoneNumber([0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8]); console.log(output); // --> '(010)1234-5678' output = createPhoneNumber([8, 7, 6, 5, 4, 3, 2, 1]); cons..