항해 X 동북 ICT 94일차

박지민·2022년 9월 22일
0

항해99

목록 보기
94/95
post-thumbnail

  어제 모의면접을 마지막으로 항해 본 커리큘럼에서 할일은 끝나서 천천히 면접 준비를 하려고 했는데 오늘 갑자기 모의 면접을 한번 더 볼 생각이 있냐는 제안이 들어와서 일단 알겠다고 말씀드렸다. 면접은 어제와 같은 방식으로 진행 되는 면접이라 하셔서 또 부랴부랴 면접 공부에 열중했다.

  모의 면접관님이 편안하게 대해주셔서 면접은 좋은 분위기 속에서 진행 됬지만 내가 답변한 내용은 썩 좋지는 않았다. 면접관님은 실제로 채용과 모의 면접을 동시에 하시는 분이라 면접을 잘봤으면 채용기회도 있었겠지만 기회는 준비된 사람이 잡는 것이라 나는 아쉽지만 다음기회를 노려야 될 것 같다. 이번에는 답변 못한 내용만 적어보려고 한다.


1. base64와 blob의 차이를 아시나요?

Binary

이진 데이터 파일

Base64

바이너리 데이터를 텍스트로 바꾸는 64진법 인코딩(BinaryToText)으로 바이너리 데이터 대비 33% 데이터의 양이 증가하고 문자열이 길어서 가독성이 떨어지지만 순수 이진 형식으로 남아있는 경우보다 전송/저장이 훨씬 쉽고 브라우저 렌더링 시 문서로딩과 같이 로딩 되기 때문에 끊기지 않고 불러오고 네트워크가 좋지 않아도 위와 같은 특징으로 이미지를 로딩할 수 있다는 장점이 있습니다.

Blob

Binary Large Object의 약자로 주로 이미지, 오디오, 비디오와 같은 멀티미디어 파일 바이너리를 객체 형태로 저장한 것을 의미합니다.

File

Blob의 기능을 상속하여, 사용자 파일시스템을 제어하기 위한 기능이 추가 된 것으로 File 객체는 Blob에서 lastModified, name 추가 된 Blob 객체 입니다.

그럼 Base64와 Blob의 차이는?

base64는 바이너리 데이터를 다우기위해 텍스트(문자열)형태로 저장한 포멧이고 blob이란 바이너리 데이터를 다루기 위해 객체 저장하는 것입니다.

2. 이벤트 전이란 무엇인가요?

특정 화면 요소에서 이벤트가 발생했을 때 해당 이벤트가 더 상위의 화면 요소들로 전달되어 가는 특성을 의미합니다.

3. 얕은 복사와 깊은 복사를 아시나요?

얕은 복사(Shallow Copy)는 객체를 복사할 때, 해당 객체만 복사하여 새 객체를 생성합니다. 복사된 객체의 인스턴스 변수는 원본 객체의 인스턴스 변수와 같은 메모리 주소를 참조하며 해당 메모리 주소의 값이 변경되면 다른 객체의 변수 값 역시 동일하게 변경됩니다.
깊은 복사(Deep Copy)의 경우 객체를 복사할 때 해당 객체와 인스턴스 변수까지 복사합니다. 데이터 참조가 아닌 객체의 형태를 그대로 복사함으로써 한 객체가 변경되어도 다른 객체의 데이터에는 영향을 주지 않습니다.

4. 해시 테이블

해시 함수

해시 함수란 데이터의 효율적 관리를 목적으로 임이의 길이의 데이터를 고정된 길이으 ㅣ데이터로 매핑하는 함수입니다. 이때 매핑 전 원래 데이터의 값을 키(key), 매핑 후 데이터의 값을 해시값, 매핑하는 과정 자체를 해싱이라고 합니다. 해시함수는 해쉬 값의 개수보다 대개 많은 키값을 해쉬값으로 변환하기 때문에 해시함수가 서로다른 두개의 키에 대해 동일한 해시값을 내는 해시충돌이 발생하게 됩니다.

해시 테이블

해시 테이블이란 해시함수를 사용해서 변환한 값을 index로 삼아 key와 value를 저장하는 자료구조를 말합니다.

5. 하이브리드앱 vs 웹앱

하이브리드앱 : 웹 앱과 네이티브 앱의 기능을 결합하여 개발된 앱으로 하나의 코드 베이스로 ios, 안드로이드에 서 둘다 작동됨.

웹앱 : 모바일 웹과 비슷하지만 구동방식이 앱처럼 보이게 한 앱.


  모의 면접이 종료된 후 본인이 구현한 기능이나 리액트에 관한 건 답변을 잘해주셨다고 했는데 자바스크립트 기초가 부족하다는 답변을 들었다. 모던자바스크립트 같은 책을 읽으면서 기초 문법을 잘 잡으면 좋을 것같다고 하셨다.

  약간 시간이 남아 질문할 시간이 있어 mobX, websocket, ci/cd, nextjs를 사용한 프로젝트를 진행하려고 하는데 어떻게 생각하시냐고도 여쭤보았는데 mobX는 괜찮고 nextjs를 꼭 써보라고 하셔서 다음 프로젝트때는 꼭 next를 써봐야겠다.

참조


https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Base64-Blob-ArrayBuffer-File-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EC%A0%95%EB%A7%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85

profile
프론트엔드 개발자

0개의 댓글