📚 Journal
방향성이 가장 어려운 것 같다.
정글할 땐 과정을 따라가기만 하면 됐는데
끝나고 나니 뭘 해야 좋은건지 잘 모르겠는 느낌.
앞으로 계획
- 핀토스, CS 복습 및 면접 예상 질문 정리
- 개구리 게임 완성
- 코딩애플 next js 강의 듣기
- 깃허브 리드미 유튜브 이미지 자동화 사이트
- Project P 프로토타입 완성
매일 할 것
- 운동 (러닝, 턱걸이, 팔굽혀펴기)
- 알고리즘 1문제 (최소 1시간)
- 9시 기상, 12시 퇴근
일단 이대로 해보자
원티드 커리어 킥오프 특강
이력서, 포폴, 자소서 내용 중복돼도 되냐? 써도 되는데 똑같이 쓰지는 마라.
포폴 개념 : 업무 관련 경험을 보여주고, 설명하는 것
- 프로젝트 배경 및 목적
- 프로젝트 진행 과정
- 활용한 기술 스택
- 프로젝트의 결과 및 성과
- 잘 한 점 및 부족했던 점
이력서
- 개인정보 (이름, 연락처 등)
- 직무 관련 경험
- 경력 사항
- 학력 사항
- 교육 훈련
- 자격증
- 수상내역
포트폴리오에 있는 것들을 이력서에 요약정리
포트폴리오는 상세하고 디테일하게
자소서 : 결과를 만들어 내기 위해 내가 한 행동, 노력 등 이면에 감춰진 스토리
회고로 내가 더 어떻게 잘했을 수 있을까에 대한거 잘 써놓기
포폴은 많으면 많을수록 좋고, 이력서는 주요 프로젝트만 기재
프리미션
경험, fact, lesson을 구분해서 적어보라고 함.
하라고 해서 하긴 했는데 이미 난 이력서 쓰느라 비슷한 작업을 한 번 해놔서 좀 시간 낭비였는듯
🎤 면접 준비
1분 자기소개
팀원간 의견 불일치가 생긴 경험과 해결한 경험이 있나요?
- 롤 할 때 화내는 팀원 결과창에서 서로의 의견이 다를 뿐이란 걸 납득시킴
본인에게 가장 큰 영향을 준 프로젝트는 무엇인가요?
- 만화 만들기. 무언가를 만들어내는 개발자가 돼야겠다는 생각 구체화시켜줌
10년 후에 어떤 개발자가 되고 싶나요?
- 만들고 싶은 건 무엇이든 만들 수 있는 개발자
왜 프로그래밍을 시작했나요?
- 만들고 싶은 걸 만들 수 있는 기술이니까
최근 읽은 기술 책은 무엇인가요?
- 운영체제 가장 쉬운 세 가지 이야기
본인의 강점은 무엇인가요?
- 아이디어를 잘 내고, 분석을 잘 한다.
프로젝트 일정을 계산할 때 팁이 있나요? 혹은 산정을 잘못한 경험을 얘기해주세요
- 이제까지의 경험으로 미루어 생각한다. 모르는 거 해보니까 생각보다 길어진 경험
모르는 기술의 경우 어떻게 학습합니까?
- 검색해서 관련된 자료를 전부 읽어본 뒤 의문이 가는 부분들을 추가로 학습하거나 의문이 풀릴 때까지 chatgpt와 맞다이
원격 협업을 어떻게 생각하시나요?
- 성향만 맞다면 좋다고 생각하는데 쉽지 않을듯
만약 불가능한 이슈를 수행해야 한다면 어떻게 하겠는가?
- 불가능한 점을 파악한 뒤 우회할 수 있는 방법을 찾아보고 안되면 문제를 잘게 쪼개어 가능한 부분과 불가능한 부분으로 나눈다. 이제까지 파악한 것들을 결정권자에게 전달한다. 그래도 하라고 하면 머리를 박아본다.
논쟁이 벌어지면 어떻게 해야 하나요?
- 서로의 근거를 교환하는 것이 가장 핵심. 이후에는 조직의 형태에 따라 달림. 수평적인 조직이라면 최대한 토의를, 수직적인 조직이라면 결정권자가 최종 결정을.
리더에게 필요한 것은 무엇인가요?
- 명확한 방향성
바빠 보이는 상대방에게 꼭 도움을 청해야 한다면 어떻게 하나요?
- 기다리다가 안 바쁠때 물어본다. 기다리는 동안 다른 일을 먼저 처리한다. 나도 정말 급한 업무라면 조직 전체로 봤을 때 내 일을 먼저 하는게 좋을지, 그 일을 먼저 하는게 좋을지 생각해본다.
기술 스택은 어떻게 정하나요?
- 서비스 규모와 특성에 따라 결정한다.
프로젝트를 함에 있어서 "빠른 호흡"에 대해 어떻게 생각하나요?
- MVP는 반드시 빠른 호흡으로 해야 한다고 생각한다. 이후에는 빠른 호흡에 대한 정의가 뭔지 구체적으로 설정해야 할듯. 레토릭이 중요한게 아니라 실제 실행이 어떻게 이루어지느냐가 중요하다고 생각함. '고객이 필요로 하는 것을 최대한 빠르게'라는 정도라면 대부분의 프로젝트에서 옳은 방향이라고 생각함.
마지막으로 회사에 궁금한 것이 있나요?
일단 초안 작성
🖥️ CS 공부
레지스터 어떻게 생겼는지 궁금해서 검색
https://electronics.stackexchange.com/questions/476334/where-are-registers-and-what-do-they-look-like
Functions of an Operating System (What is an operating system?)
https://youtu.be/ZZK8ETiYrpY
OS란?
- 모든 현대 컴퓨터 시스템 내부에서 작동하고 있는 소프트웨어
- 소프트웨어와 하드웨어 사이의 소통을 가능하게 한다
- 컴퓨터에게 명령을 내릴 수 있게 해준다
- 많은 기능들을 관리한다
OS의 기능
- 유저 인터페이스 : GUI, CLI
- 파일 관리 : 프로그램들이 데이터 저장하고 불러오는 방법 제공. Look-up table들은 파일 이름과 저장소 드라이브에서의 위치를 연결짓는다.
- 하드웨어와 주변기기 관리 : 디바이스 드라이버들은 주변 기기와의 연결을 관리할 수 있게 해준다
- 프로세서 관리 : OS는 CPU를 관리한다. RAM에 소프트웨어 불러오면 CPU가 프로그램 실행 가능. OS는 프로세서 점유하는 시간을 관리함.
- 소프트웨어 작동
- 인터럽트와 에러 핸들링 : 인터럽트는 멀티태스킹이라는 환상을 가능하게 함. 여러 프로그램들은 RAM에 동시에 저장돼있을 수 있지만, 특정 순간에 CPU를 점유하는 건 프로그램 하나뿐. 인터럽트는 attention이나 프로세서 점유 시간을 원하는 프로그램이나 프로세스에 의해서 발생하는 신호. OS는 인터럽션들의 우선순위를 계속 지정해주면서 가장 적정한 작업이 CPU에 할당되도록 함.
- 보안 : 접근 권한 설정. 방화벽같은 보안 프로그램
- 메모리 관리 : 프로그램을 메모리에 넣거나 뺌. 메모리를 프로그램에 할당함. 메모리 사용량을 추적함. 메모리가 없으면 어떻게 할지 결정함.
- 네트워크 통신
⚔️ 백준
📌 1300 K번째 수
크기부터 N^2라서 이것들을 다 접근하면 안됨.
크기가 작은 것도 아니라 10^5임.
무지성 버전
1. NxN 배열 만든다
2. 1차원 배열로 만든다
3. 오름차순으로 정렬한다
4. k번째에 접근한다
말도 안되는 비효율.
문제를 살짝 비틀어서 바라보면
1부터 N까지의 구구단 중에 K번째 크기를 가진 친구를 구하라는거
컴퍼스에서 이분 탐색이라는 키워드를 봤었으니 그거 위주로 생각해보자.
axb=n 인 어떤 수가 있을 때
사분면 기준으로 2사분면은 자기보다 무조건 작은 수,
4사분면은 자기보다 무조건 큰 수.
근데 이렇게 경우의 수를 줄인다고 해도 지수가 줄어드는게 아니라 곤란.
2사분면과 4사분면은 생략 가능하니까
2사분면이 K 초과인 숫자들은 전부 탈락.
ㅁㅁㅁㅁㅡㅡㅡㅡㅁㅁㅁㅁ
자기보다 작은 수와 큰 수의 개수가 이런 식으로 채워진다고 생각해보면
3사분면의 중앙에 있는 수가 자기보다 작다면, 해당 수 기준으로 사분면을 나눴을 때 2사분면 배제 가능
음... 뭔가 아닌 것 같다.
일단 이것 때문에 자꾸 '아 이거 먼저 해야되는데'라는 병목 현상이 생기니까
내일 마저 해볼 것.