전체 글 63

[면접꿀팁] 프론트개발자 이커머스 기술면접 후기

최근에 이커머스 면접을 보게 되었다. 어딘지는 비밀이지만 60명 규모의 10년차이상된 나름 탄탄한 기업이었다. 작년에도 한두번 면접 본적이 있는데 크게 다르지 않았다. 면접 보다 보면 다 거기서 거기임. 그래서 몇번 해보면 감 잡을듯? 참고로 본인은 N년차 경력직 고인물임. 1. 1분 자기 소개(필수) 이건 안하는곳이 없는듯? 자연스럽게 1분 안쪽으로 얘기해라 1분 가까이 하거나 넘지말것 루즈해짐 노잼임 자기의 강점과 경험 경력 위주로 설명하는게 좋음. 2. 최근에 해결한 기술적인 문제 경력직이면 무조건임, 이것도 안하는곳 딱 1군데봄. 기술적으로 해결한거 두가지정도 준비해가면 좋을듯? 어줍잖은거 얘기하지말기! (ex. 버그해결 같은거 그건 당연하거임) 3. 호이스팅과 const, let var 기술면접..

잡담 2024.04.04

[코테] 그래프 알고리즘 & 동적 계획법 예제

이름만 들어도 어려워보이는 그래프 알고리즘과 동적 계획법니다. 그래프 알고리즘은 그래프를 탐색하고 원하는 정보를 찾는 데 사용된다. 예를 들어, 소셜 네트워크에서 친구 관계를 탐색하거나, 지도 애플리케이션에서 최단 경로를 찾는 데 활용될 수 있다. 너비 우선 탐색(BFS): 시작 정점에서부터 인접한 정점을 먼저 모두 방문한 후, 그 정점들의 인접한 정점들을 차례대로 방문하는 방식. 큐(queue) 자료구조를 사용하여 구현. 깊이 우선 탐색(DFS): 시작 정점에서부터 한 정점의 모든 인접한 정점을 방문한 후, 방문한 정점을 시작으로 다시 깊이 우선 탐색을 진행. 스택(stack) 자료구조나 재귀 함수를 사용하여 구현 // 너비 우선 탐색(BFS) 함수 function bfs(graph, start) { ..

코딩테스트 2024.03.24

[코테] 탐색 알고리즘(Search Algorithms) & 정렬 알고리즘(Sort) 예제

탐색 알고리즘 탐색 알고리즘에는 대표적으로 2가지 종류가 있다. 1. 선형탐색 : 데이터를 처음부터 끝까지 순차적으로 탐색하여 원하는 값을 찾는 알고리즘 2. 이중탐색 : 이진 트리 구조에서 데이터를 탐색하는 알고리즘 선형탐색 예제) function linearSearch(arr, target) { for (let i = 0; i < arr.length; i++) { if (arr[i] === target) { return i; // 찾은 경우 해당 인덱스를 반환 } } return -1; // 못 찾은 경우 -1을 반환 } 이중탐색 예제) function binarySearch(arr, target) { let left = 0; let right = arr.length - 1; while (left a..

코딩테스트 2024.03.24

[코테] 알고리즘의 종류

자 이제 코테준비를 다시 시작하는 의미에서 알고리즘 공부를 시작해보겠다. 이전에는 그냥 부딪혀서 문제풀이에 집중했었는데 알고리즘 공부를 제대로 할 필요성을 느껴서 한번 정리해보았다. 앞으로도 조금씩 정리할계획!! 우선 대표적인 알고리즘 종류에 대해서 알아보자 1. 탐색 알고리즘(Search Algorithms): 탐색 알고리즘은 주어진 데이터에서 원하는 값을 찾는 데 사용된다. 대표적인 탐색 알고리즘으로는 선형 탐색(Linear Search)과 이진 탐색(Binary Search)이 있다. 2. 정렬 알고리즘(Sorting Algorithms): 정렬 알고리즘은 데이터를 특정한 기준에 따라 정렬하는 데 사용된다. 대표적인 정렬 알고리즘으로는 버블 정렬(Bubble Sort), 선택 정렬(Selection..

코딩테스트 2024.03.22

개발책 - 혼자 공부하는 컴퓨터구조+운영체제 (15장~끝)

드디어 이책의 마지막 챕터.. 길고 길었다..ㅠㅜ C 15. 파일 시스템 파일 시스템은 파일과 디렉터리를 관리한다. 운영체제는 파일의 확장자를 통해 파일의 유형을 파악할 수 있다. 파일의 속성에는 파일과 관련된 다양한 부가 정보들이 있다. 파일: 하드디스크나 보조기억장치에 저장된 정보의 집합을 의미한다. 파일시스템 종류: fat 파일시스템, 유닉스 파일 시스템 디렉터리: 이걸 이용하면 여러개의 파일 또는 디렉터리를 묶여관리 할 수 있다. 경로: 디렉터리를 이용해 위치를 특징 짓는 정보이다. 1. 절대경로: 루트 디렉터리부터 시작하는 경로 2. 상대경로: 현재 디렉터리부터 시작하는 경로 파일을 보조기억장치에 곧바로 저장할수 없기에 생성하거나 저장하기 위해선 파티션을 나누는 작업과 포맷 잡어르 거쳐야된다. ..

개발책 - 혼자 공부하는 컴퓨터구조+운영체제 (11-14장)

C 11. CPU 스케줄링 cpu스케줄링은 공정하고 합리적으로 cpu 자원을 배분하는 방법이다. 프로세스는 우선순위를 갖고 있고 이는 PCB 에 명시된다. 우선순위가 높은 프로세스는 대표적으로 입출력 작업이 많은 프로세스이다. 그런데 프로세스 종류마다 입출력 장치를 이용하는 시간과 양에는 차이가 있다. 입출력 집중 프로세스 :비디오 재생이나 디스크 백업 작업을 담당하는 입출력 작업이 많음 CPU 집중 프로세스 : 복잡한 연산, 그래픽 처리작업을 담당하는 cpu 작업이 많은 프로세스 운영체제는 효율적인 스케줄링을 위해 스케줄링 큐를 사용한다. 대표적인 큐로 준비큐와 대기큐가 있다. 준비큐: cpu할당을 기다리는 프로세스를 위한 큐 대기큐: 입출력장치를 기다리는 프로세스들을 위한 큐 선점형 스케줄링: 프로세..

개발책 - 혼자 공부하는 컴퓨터구조+운영체제 (9-10장)

C 9. 운영체제란 운영체제는 실행할프로그램에 필요한 자원을 할당하고 프로그램이 잘 싱행되도록 돕는 특별한 프로그램이다. 컴퓨터가 부팅될때 메모리내 커널영역이라는 공간에 따로 존재하면서 실행된다. 커널: 운영체제의 핵심 기능을 담당커널영역을 제외한 나머지 영역, 사용자가 이용하는 응용프로그램이 있는 영역을 사용자 영역, 사용자 인터페이스라고 한다. 사용자 인터페이스 1) 그래픽 유저 인터페이스 2) 커멘드 라인 인터페이스 개발자는 운영체제와의 대화를 통해 하드웨어와 프로그램을 더 깊이 이해하고 문제해결의 실마리를 찾을수 있다. 대표적인 운영체제 서비스로 프로세스 관리, 자원 접근및 할당, 파일 시스템관리가 있다. 운영체제는 사용자가 직접 접근하는 것을 방지하여 자원을 보호 한다. 접근 하는 방법은 이중모..

개발책 - 혼자 공부하는 컴퓨터구조+운영체제 (4-8장)

첫번째 글에 이어서 계속 작성해보겠다. 1-3장 내용이 궁금하다면 하단으로 고고 https://haneui.tistory.com/36 개발책 - 혼자 공부하는 컴퓨터구조+운영체제 (1-3장) 운영체제 공부 때문에 강의랑 책을 구매해서 듣게되었다. 주말에 틈내서 읽게되었는데 좀더 기억에 남기기 위해서 한번 내가 읽은 내용을 정리해보았다. (독후감 겸 내 생각도 들어가져 있음 ㅎ haneui.tistory.com C 4. CPU의 작동원리 cpu는 메모리에 저장된 명령어를 읽고 해석하고 실행하는 장치이다. 내부에는 계산을 담당하는 ALU, 해석하는 제어장치, 임시 저장장치인 레지스터가 구성되어져 있다. 또한 명령어를 처리하는 과정에는 어떤 흐름이 있고 이런 흐름을 명령어 사이클이라고 한다. 간혹 처리중 흐름..

개발책 - 혼자 공부하는 컴퓨터구조+운영체제 (1-3장)

최근에 운영체제 공부 때문에 강의랑 책을 구매해서 듣게 되었다. 주말에 틈내서 읽게 되었는데 좀더 기억에 남기기 위해서 한번 내가 읽은 내용을 정리해 보았다. (독후감 겸 내 생각도 들어가져 있음 ㅎㅎ) 비전공자라 운영체제와 컴퓨터 구조가 너무 막연하고 어렵게 느껴졌었는데 비유와 대체로운 그림이 조금 더 쉽게 느껴지는 책이었다. 전체적으로 목차를 보면 아래와 같다. C 1. 컴퓨터 구조를 알아야하는 이유 컴퓨터 구조는 실력있는 개발자가 되려면 반듯이 알아야하는 기본 지식! 컴퓨터 구조를 이해하고 있다면 문제 상황을 좀더 빠르게 해결 가능하다. 오류가 생겻을떄 단순히 디버깅만 해서 끝내는 하수가 아니라 근본적인 원인 해결을 위해서 다가가는 고수의 발판이 아닐까? 단순히 코드만 짜는 개발자가 아니라 다양한 ..

운영체제 - 종류 (Windows,OS,Linux)

위에 처럼 다양한 종류들이 있지만 대표적인 것들만 다뤄보겠다. 1. Windows 장점) 사용자 친화적인 인터페이스: 많은 사용자들이 Windows를 통한 컴퓨터 사용에 익숙. 다양한 소프트웨어 지원: 많은 응용 프로그램 및 게임이 Windows에 최적화. 광범위한 하드웨어 호환성: 다양한 브랜드와 모델의 컴퓨터와 장치들과 호환이 잘됌. 용도) 일반적인 데스크톱 및 랩톱 컴퓨터용으로 널리 사용. 비즈니스 환경에서도 많이 사용되며, 기업용 응용 프로그램과의 호환성이 뛰어남. 2. macOS 장점) 우아하고 진보된 디자인: macOS는 사용자에게 세련된 디자인과 직관적인 인터페이스를 제공. 안정성과 성능: Apple이 하드웨어와 소프트웨어를 동시에 제어하므로 안정성과 성능이 뛰어남. 개발자 및 디자이너를 위..

반응형