취업 준비 24

🧑‍💻 개발자로 취업하기 위한 알고리즘 공부법 3강 알고리즘설계

1강과 2강이 많은 분들께서 좋아해 주셔서 감사합니다! 이 공부법이 처음에는 시간대비 더 적은 문제를 풀고 더 많은 알고리즘을 배울수는 없겠지만 여러분의 순수 실력은 정말 빠르게 늘게 되는 방법이니 따라 오시는 분들 모두 화이팅 입니다! ​ 질문이나 알고리즘 외의 취업 질문들도 언제든지 가능합니다~ ​ 오늘은 지난강의에서 너무너무 중요해서 다루지 못했던 알고리즘 설계하기를 다뤄 보겠습니다. 왜 설계를 해야 할까? ​ 1. 실력이 빠르게 상승한다. 새로운 알고리즘을 공부하시고 문제에 적용 해보려는 시점에서 직접 설계를 하다보면 이해가 가지 않던 부분들이나 시간 복잡도 알고리즘의 원리를 더 깊게 이해하거나 잘못된거를 바로잡게 되는 경우가 많습니다. 당장 쉬운 알고리즘을 공부하실 때는 크게 체감이 안갈 수도 ..

취업 준비 2022.03.12

🧑‍💻 개발자로 취업하기 위한 알고리즘 공부법 2강 공부방법

2강으로 검색 유입이 많아 해당 글에 안내 문구를 작성 합니다. 해당 글은 너도나도 개발자 준비를 할 수 있다는 글이 아닙니다! 비전공자로 개발을 업으로 삼기전 본인이 이쪽 길과 맞는지 빠르게 판별 하는 것이 중요하고 저는 알고리즘 공부가 할만하고 코테들을 통과 할 만큼 성과를 보이는 것이 기준이라고 생각합니다. (비전공자 글쓴이의 경험) 개발 분야를 알아보거나 공부하기 전에 알고리즘을 조금씩 해보면서 흥미를 붙이고 (퀴즈 같은 느낌) 언어의 기초를 공부하고 내가 이길로 취업할 길이 있을까를 판별 하시는걸 추천 드립니다. 물론 이미 전공이 이쪽이시면 열심히 하셔야 합니다. 최대한 빨리 2~3학년에 때는게 좋을거 같습니다 . (주변인 기준) 너무 바쁘신 게 아니면 1강 가볍게 보고 오시는 거 추천드립니다!..

취업 준비 2022.02.20

🧑‍💻 개발자로 취업하기 위한 알고리즘 공부법 1강 코딩테스트

1강보다 2강 3강이 중요하기 때문에 적어도 2강까지 꼭 봐주세요 !! 본 강의는 알고리즘 자체를 가르쳐 주는 것이 아니라 혼자 공부를 어떻게 하셔야 하는지 모르는 분들을 위해 공부 하는 법을 가르쳐 주는 강의 입니다. ​ 내가 개발자로 취업을 해야지 라고 생각을 하시면 이브이 마냥 선택 할 수 있는 길은 엄청 많고 (FE, BE, And, IOS, DE, ML/AI 등등) 회사들 또한 매우 많습니다. (대기업 + 네카라쿠배당토 + 많은 스타텁) 하지만 어떤 직무와 회사를 고르셔도 만나게 되는 관문이 서류의 연장선인 코딩 테스트 이고 비 전공자 분들이 겪으시는 장 큰 벽도 바로 여기 입니다! 일반적인 IT기업 취업 과정 코딩테스트 : 취업을 할 때 일반적으로 서류 다음에 있는 시험, 코테라고 많이 부름 ..

취업 준비 2022.02.20

21년 하반기 취업 도전기 + 카카오 인턴

이전글: https://openingsound.tistory.com/113 21년 상반기 취업 도전기 2020년 1월 블로그를 만들면서 프로그래머를 진지하게 생각하게 였다. 비전공자에서 프로그래밍으로 취업을 할 수 있을까? 라는 고민을 많이 했었지만 시간은 흘러 4-1학기를 맞이하게 되었고 상 openingsound.tistory.com 부스트캠프 AI를 진행하면서 카카오 인턴(ML), SR 인턴(ML), 네이버 공채를 지원 했었다. 코테빨과 면접 운이 좋아서 모두 좋은 결과가 있었다. 인턴 2개의 경우일정이 겹쳐 카카오와 삼성을 고민하다 결국 카카오를 결정 했었고 매우 뜻 깊은 2달을 보낼 수 있었다! (다음 해에 SR재지원을 하고 서류탈 함 ㅠ) 인턴 이지만 웰컴 기프트로 마우스 패드, 죠르디 스티커..

취업 준비 2021.10.01

코딩테스트 준비하기

블로그를 봐도 각 알고리즘 개념이나 백준 문제들을 설명하는 경우는 많았는데 알고리즘 문제를 어떻게 받아들이고 접근하는지 또는 공부를 하는 게 좋은지에 관한 글은 없어서 글을 작성하게 되었다. 나 또한 근본있게 공부를 한건 아니고 친구에게 기초를 배우고 친구와 같이 kks227 블로그를 참고하며 좁은 시야로 공부를 하였기 때문에 매우 주관적인 경험인걸 감안하고 들어주시면 좋을 것 같다. 기본적으로 알고리즘 문제는 2단계를 거쳐 문제를 해결하게 된다고 생각한다. 문제가 요구하는 알고리즘 찾기 알고리즘 구현하기 우선 알고리즘 찾기 과정은 지문 + 제한 조건(시간제한, 입력값의 범위)을 읽고 시간 복잡도를 고려한 알맞은 알고리즘을 생각하는 과정이다. 사실 해당 단계가 알고리즘 문제에서 가장 중요한 부분이고 구현..

취업 준비 2021.06.25

21년 상반기 취업 도전기

2020년 1월 블로그를 만들면서 프로그래머를 진지하게 생각하게 였다. 비전공자에서 프로그래밍으로 취업을 할 수 있을까? 라는 고민을 많이 했었지만 시간은 흘러 4-1학기를 맞이하게 되었고 상반기 여러 공채들에 지원을 하게 되었다. 20년 하반기 부터 열리는 IT기업 코테는 거의 다 신청을 했었고 20년 하반기에 카카오게임즈 면접에서 탈락을 하며 CS지식과 프로젝트의 부재를 뼈저리게 느꼈다. 반년정도 알고리즘과 교내 동아리 프로젝트를 하다가 작년 말 부터 ML/AI 공부를 진행 하였고 21년 1월부터 부스트캠프 AI과정을 하며 많은 지식과 경험을 얻을 수 있었다. 해당 경험을 자소서에 잘 녹여 서류와 면접에서 많은 이익을 볼 수 있었던 것 같다. 비록 이번 부스트캠프 2기 과정 신청은 벌써 끝이 났지만 ..

취업 준비 2021.06.23

프로세스간 커뮤니케이션(IPC)

프로세스간 커뮤니케이션 IPC (Inter Process Communication) 프로세스 들이 서로의 공간을 쉽게 접근할 수 있다면 프로세스 데이터/코드가 바뀔 수 있으니 프로세스는 다른 프로세스의 공간을 접근 할 수 없다. 프로세스간의 통신방법이다. 왜 필요 할까? 성능을 높이기 위해 여러 프로세스를 만들어서 동시 실행 (CPU core 8~16개에서 동시에 실행 후 모아서 작업하기) 프로세스간 상태 확인 및 데이터 송수신이 필요하다. fork() 시스템콜 본인과 똑같은 프로세스를 하나더 생성한다. 원본이 부모이고 생선된것이 자식이다. 프로세스를 fork()해서 여러 프로세스를 동시에 실행시킬 수 있다. (병렬 처리) 1~10000까지 더하기 fork()함수로 10개 프로세스 만들어서 각각 1~10..

프로세스와 컨텍스트 스위칭

프로세스와 컨텍스트 스위칭 프로세스 구조 STACK 임시 데이터(함수 호출, 로컬 변수등) Return Address를 STACK에 저장하고 함수에서 필요한 공간을 할당한 뒤 나중에 다시 지운다. EBP 레지스터 현재 STACK의 최상단을 가리키는 주소가 들어가 있다. 함수가 함수를 부르다가 문제가 생기면 어떤 시점에 어떤 함수를 실행 시키다가 문제가 생긴지 알기 어려우므로 존재한다. EAX 레지스터 Return 값을 가지고 있다. HEAP c언어의 malloc()과 같이 동적으로 특정 공간 할당 Python은 생각하지 않아도 됨;; DATA 변수/초기화된 데이터 CODE에 필요한 저장공간 공간의 크기가 정해져 있다. BSS 초기화 되지 않은 전역 변수 DATA 초기값이 있는 전역 변수 CODE(text..

인터럽트

이벤트와 인터럽트(Interrupt) CPU가 프로그램을 실행하고 있을 때, IO등의 장치나 예외 상황이 발생하여 처리가 필요한 경우에 CPU가 해당 처리를 할 수 있도록 CPU에 알려줘야 함 CPU가 실행하는 명령은 하나인데 다른 장치와 어떻게 커뮤니케이션을 할까? 파일읽기를 하는동안 프로세스가 block상태가 되는데 읽기가 끝나면 인터럽트가 알려준다. 프로세스 running중에 스케쥴러가 이를 중단을 시키는 선점형 스케쥴러를 구현하기 위해 필요하다. 이벤트가 발생하고 처리하는것은 운영체제가 한다. ex 입출력 하드웨어 등의 장치 이슈 발생 파일 처리가 끝났다는것을 운영체제에 알려주기 운영체제는 해당 프로세스를 block state에서 ready state로 프로세스 상태 변경하기 에외 상황 0으로 나..

프로세스 상태와 스케쥴링

멀티프로그래밍과 Wait 멀티 프로그래밍 CPU 활용도를 극대화 하는 스케쥴링 알고리즘 Wait 간단한 저장매체로부터 파일 읽기를 기다리는 시간 프로세스 상태 프로세스 상태 실행 가능상태인것을 실행 시켜야 하니 스케쥴러가 현재 프로세스의 상태를 알아야 한다. 실행가능 (ready) CPU에서 실행 가능 상태 대기 (block / waiting) 특정 이벤트 발생 대기 상태 프린팅이 다 되었따! 저장매체에 파일을 읽어달라고하면 읽는동안 block상태가 됨(읽는거 기다림) 실행중(running state) 현재 CPU에서 실행 상태 종료(exit) 사용하던 자원같은거도 돌려놓는 시간이 필요함 프로세스 상태간 관계 Running → Block → Ready ← → Running Running상태에서 프린팅을 ..