분류 전체보기

    기술 면접에서 list와 set의 차이를 물어보는 이유

    기술 면접에서 자주 등장하는 질문 중에 하나가 'list와 set의 차이' 인데요, 오늘은 왜 이 질문이 자주 등장하는지 설명드리도록 하겠습니다 우선 이 질문은 기술 면접 초입부에 가볍게 질문하기 딱 좋아요 list와 set은 둘 다 실무에서 자주 사용되는 자료 구조고 간결하게 대답하기에도 좋기 때문에 기술 면접 시작할 때 몸풀기로 딱 좋은 질문이죠 그러면서도 지원하신 분의 기본기를 확인할 수 있는 아주 좋은 질문입니다 list와 set은 진짜 진짜 기본적인 개념이면서도 동시에 개발할 때 자주 사용되는 타입이기 때문에 당연히 알고 있어야 하는 개념이에요 범죄 신고는 112, 화재 신고는 119 요거 모르는 분 없잖아요, 이거랑 똑같아요 그만큼 기본 중에 기본이라는 거죠 그래서 이걸 대답 못하면 '기본기가..

    기술 면접에서 흔히 말하는 스레드는 어떤 스레드일까?

    여러 맥락에서 스레드 개념이 존재한다 자바에도 스레드가 있고 파이썬에도 스레드가 있고 OS 레벨의 스레드가 있다 그럼 우리가 흔히 말하는 스레드는, 기술 면접에서 물어보는 스레드는 어떤 스레드를 말하는 걸까?? 이번 글을 이 부분을 다뤄보려고 한다 면접에서 물어보는 스레드는 OS 스레드 결론부터 얘기하면 면접에서 얘기하는 스레드는 보통 OS 레벨의 스레드를 의미한다 OS 레벨의 스레드의 개념과 특징을 간략하게 정리하면 아래와 같다 * CPU 코어에서 실행되는 단위다 * 프로세스는 여러 개의 스레드를 가질 수 있다 * OS에서 관리된다 * OS가 스케줄링한다 * native thread, OS thread, kernel level thread 등등 여러 형태로 불린다 자바에도 있고 파이썬에도 있는 스레드는..

    MySQL 트랜잭션 serializable 격리 레벨은 MVCC인가?

    일반적으로 MySQL은 MVCC라고 한다 하지만 조금 더 정확히 얘기하면 isolation level에 따라 다른데, read commiited와 repeatable read는 MVCC라고 하지만 read uncommitted와 serializable은 MVCC가 아니라고 얘기한다 MySQL의 serializable 레벨은 MVCC가 아닌가? MySQL에서 serializable 레벨은 MVCC가 아닌 lock으로 동작한다 공식 문서에서 serializable 레벨을 아래와 같이 설명하고 있기 때문이다 This level is like REPEATABLE READ, but InnoDB implicitly converts all plain SELECT statements to SELECT ... FOR S..

    트랜잭션 영상들 전체 흐름 파악하기

    * 이 글은 쉬운코드에 올린 트랜잭션 영상들이 개념적으로 어떻게 연결되는지 전체 그림을 설명하기 위한 목적으로 작성했습니다 * 위에서 아래 순서로 영상을 보는 것을 추천합니다 Transaction & ACID 먼저 트랜잭션이 무엇인지부터 설명한다 데이터베이스에서 여러 작업을 하나의 단위로 묶어서 처리할 수 있도록 하는 것이 transaction 사용 목적이라서 이 개념을 정확히 이해하는 것이 중요하다 그리고 트랜잭션의 속성인 ACID에 대해 설명한다 ACID는 너무나도 기본적이면서도 중요한 개념이기 때문에 잘 알고 있는 것이 중요하다 👉👉👉 Transaction & ACID 영상 보러 가기 Serializability ACID 중에서도 특히 Isolation은 여러 트랜잭션들이 동시에 실행돼도 마치 각각..

    DB 트랜잭션의 conflict serializable 이해를 위한 선수 개념

    conflict serializable 이해를 위한 선수 개념 왼쪽이 선수 개념이다 scheudle -> conflict operations -> conflict equivalent -> conflict serializable 즉, conflict serializable를 이해하기 위해서는 conflict equivalent이 무엇인지 먼저 알아야 하고 conflict equivalent를 이해하기 위해서는 conflict operations가 무엇인지 먼저 알아야 하고 conflict operations를 이해하기 위해서는 scheudle이 무엇인지 먼저 알아야 한다 각각의 개념들을 매우 간단하게 정리해 보면, schedule ? 여러 transaction들이 동시에 실행될 때 각 transaction..