Zero to Hero
[kt ds] 케이티디에스 2020년 하반기 공채 SW 직군 전형 후기 2/ 3(코딩테스트, PT)
Career 2021. 1. 8. 10:39

kt ds 2020년 하반기 공채 SW 직군 전형 중 코딩 테스트, PT 면접 관련 후기입니다. 코딩 테스트는 비대면 온라인으로, PT 전형의 일부는 온라인으로 진행되었습니다. 코딩 테스트 코딩 테스트는 온라인으로 프로그래머스에서 진행했습니다. 시간은 1시간, 주어진 문제는 3문제(2 코딩, 1 SQL)였습니다. 문제 난이도는 삼성 혹은 네임드 IT 서비스 기업(네이버, 카카오, 라인 등)을 목표로 하시고 준비하셨다면 무리 없이 해결하실 수 있으리라 생각합니다. 체감 난이도는 백준 난이도 기준 실버 정도였습니다. 그렇다 하더라도 1시간은 상대적으로 촉박한 시간이기 때문에 주의하셔야 하고, 만일 시간이 남으신다면 예외 케이스 등을 생각해보시고 코드를 다듬으시는 것을 추천드립니다. 그리고 추후 면접 시 작성..

article thumbnail
[kt ds] 케이티디에스 2020년 하반기 공채 SW 직군 전형 후기 1/ 3 (자소서, 인적성)
Career 2021. 1. 8. 10:32

kt ds 2020 하반기 신입사원 채용에 관련된 후기입니다. 저는 SW 직군으로 지원했습니다. 대부분 과정이 비대면, 온라인 방식으로 진행이 되었습니다. 자기소개서 문항은 총 4가지였습니다. 1. 전반적인 지원 동기 2. 본인이 생각하는 지원 직무에 필요한 핵심 역량과 그것을 기른 방법 3. 최근 3년 동안 가장 어려웠던 경험 및 극복 과정 4. 협업 관련 경험 모든 문항은 700자 제한이었고, 신입 입장에서 너무 까다로운 질문은 없었던 것 같습니다. 다만 문항 하나에서 물어보는 질문이 2개 이상인 경우가 있기 때문에 어색하지 않게 분량을 줄이거나 늘렸습니다. 인적성 적성 저는 인적성 공부를 해본 적이 없어서 급하게 준비했습니다. kt 그룹 인적성 문제집 1부를 훑으면서 유형을 파악했고, 막판에 봉투 ..

article thumbnail
3954번: Brainf**k 인터프리터 (데이터 추가, 최신 버전, Python)
Algorithm 2021. 1. 2. 15:52

문제 링크 3954번: Brainf**k 인터프리터 각 테스트 케이스에 대해서, 프로그램이 종료된다면 "Terminates"를, 무한 루프에 빠지게 된다면 "Loops"를 출력한다. 무한 루프에 빠졌을 때는, 프로그램의 어느 부분이 무한 루프인지를 출력한다. ([ www.acmicpc.net 문제 개요 질문 게시판을 보면 알 수 있지만 문제 설명도 수정되었었고, 테스트 케이스의 빈틈을 노린 코드들이 재채점 되어 글을 작성하는 날 기준으로 solved.ac 랭크 골드 1 임에도 불구하고 맞은 사람 34명, 정답률 9%를 기록하고 있다. 다시 말해서 구글 검색을 통해 위 문제에 대한 코드를 올린 블로그는 거의 다 틀린 코드고, 이 때문에 모든 검색 방법을 총동원해서 거의 50번 가까이 제출을 하면서 통과한 ..

친절한 SQL 튜닝 04
Review 2020. 12. 30. 12:52

인덱스 수직적 탐색 정렬된 인덱스 레코드 중 조건을 만족하는 첫 번째 레코드를 찾는 과정 즉 인덱스 스캔 시작 지점을 찾는 과정 인덱스 수평적 탐색 수직적 탐색으로 찾은 스캔 시작점에서 찾고자 하는 데이터가 더 안 나타날 때까지 수평적으로 스캔하는 과정 즉 실제로 데이터를 찾는 과정 WHERE 절의 조건 순서에 따라서 성능이 결정된다? 잘못된 정보임. 비교 연산 횟수를 줄일 수 있다는 설명은 맞음. 하지만 인덱스의 자료구조인 B+Tree는 평면 구조가 아님. 어떤 순서로 해도 일 량에는 차이가 없음. (자세한 건 인덱스 성별 여자 이름 유관순으로 검색해볼 것, 대부분이 잘못된 자료인 경우라고 함) 인덱스를 RANGE SCAN 할 수 없는 이유 1. 인덱스 칼럼을 가공하면 인덱스를 정상적으로 사용할 수 없..

친절한 SQL 튜닝 03
Review 2020. 12. 30. 12:26

SQL의 성능을 결정하는 디스크 I/O 1. I/O를 처리하는 동안 프로세스는 잠을 잔다. 2. 즉 프로세스가 디스크에서 데이터를 읽어야 할 때, CPU는 OS에 반환하고 잠시 waiting state 상태로 진입해 I/O가 완료되길 기다린다. 즉 프로세스가 I/O가 많을수록 대기시간이 길어지고 성능이 느려진다. 3. 아무리 하드웨어 성능이 향상되고 있지만 여전히 느리다. 그러므로 디스크 I/O를 줄이기 위한 최적화가 필요하다. SQL의 데이터 구조 1. 블록: 데이터를 읽고 쓰는 단위 2. 익스텐트: 공간을 확장하는 단위, 연속된 블록 집합 3. 세그먼트: 데이터 저장공간이 필요한 오브젝트(테이블, 인덱스, 파티션, LOB 등) 4. 테이블 스페이스: 세그먼트를 담는 컨테이너 5. 데이터 파일: 디스크..

친절한 SQL 튜닝 02
Review 2020. 12. 30. 12:02

소프트 파싱 vs 하드 파싱 1. SQL 파싱, 최적화, 로우 소스 생성 과정을 거쳐 생성한 내부 프로시저를 반복 재사용할 수 있도록 캐싱해 두는 메모리 공간을 라이브러리 캐시(Library Cache)라고 한다. 2. 라이브러리 캐시는 SGA(System Global Area)의 구성요소다. SGA는 서버 프로세스와 백그라운드 프로세스가 공통으로 액세스 하는 데이터와 제오 구조를 캐싱하는 메모리 공간이다. 3. SQL문을 전달하면 DBMS는 파싱 후 해당 SQL이 라이브러리 캐시에 있는지 확인한다. 캐시에 있으면 곧바로 실행 단계로 넘어가지만 캐시 미스가 발생하면 최적화 단계를 거친다. 소프트 파싱 --> 라이브러리 캐시에 SQL이 존재해서 바로 실행단계로 넘어가는 과정 하드 파싱 --> 라이브러리 캐..