기술 면접 복기 및 개선 전략

최근 여러 기업의 면접을 거치며 얻은 경험과 통계를 바탕으로, 면접 준비와 성공률 향상을 위한 전략을 소개합니다.

면접 프로세스

graph LR A(지원) -->|면접 초대|B(1차 기술 면접) B --> C(2차 기술 면접) C --> D(3차 리더십 면접) D --> |HR 협상|E(HR 급여 결정) E --> |Offer 승인|F(Offer 발행) F --> |배경 조사|G(입사)

데이터 분석

단계 수량 전환율
소통 수 572
지원 수 209 36.54%
면접 초대 43 20.57%
1차 면접 36 83.72%
2차 면접 16 44.44%
3차 면접 8 50.00%
4차 면접 3 62.50%
Offer 수 5 75.00%
  • 종합 이력서 전환율: 17.22%
  • 종합 면접 전환율: 13.89%

개선 목표

  1. 면접 초대율: > 30%
  • 해외 지원과 무분별한 지원으로 인한 업무 적합도 저하
  • 대기업에서 이미 진행 중인 이력서로 인한 불필요한 지원
  1. 1차 및 2차 면접 통과율: > 60%
  • 기본적인 SQL 쿼리, 그룹화 통계, Linux 명령어 미숙지
  • 알고리즘 문제에 대한 준비 부족
  • 성능 테스트, MySQL 인덱스, Redis, Nginx 로드 밸런싱 등에 대한 이해 부족

면접 일정

graph LR S(07-28 내부 추천)-->|2일|A(07-30 1차 기술 면접) A-->|4일|B(08-03 2차 기술 면접) B-->|3일|C(08-06 3차 리더십 면접) C-->|3일|D(08-09 4차 BP 면접) D-->|1일|E(08-10 HR 협상) E-->|2일|F(08-12 HR 급여 결정) F-->|4일|G(08-16 Offer 발행)

문제 복기

네이버 유도

  • 프로그래밍: 정렬된 리스트 합치기
def merge_sorted_lists(A, m, B, n):
    i = m - 1
    j = n - 1
    k = m + n - 1
    while i >= 0 and j >= 0:
        if A[i] > B[j]:
            A[k] = A[i]
            i -= 1
        else:
            A[k] = B[j]
            j -= 1
        k -= 1
    while j >= 0:
        A[k] = B[j]
        j -= 1
        k -= 1
    return A

A = [4, 5, 6, 0, 0, 0]
m = 3
B = [1, 2, 3]
n = 3
merge_sorted_lists(A, m, B, n)
print(A)

ByteDance

  • SQL: 학생 테이블에서 수학 점수가 80점 이상인 학생의 이름 찾기
SELECT s.name FROM student AS s JOIN score AS sc ON s.id = sc.id WHERE sc.course = '수학' AND sc.score > 80;
  • 프로그래밍: 2차원 증가 행렬에서 특정 숫자 찾기
def search_matrix(matrix, target):
    if not matrix or not matrix[0]:
        return False
    row, col = 0, len(matrix[0]) - 1
    while row < len(matrix) and col >= 0:
        if matrix[row][col] == target:
            return True
        elif matrix[row][col] < target:
            row += 1
        else:
            col -= 1
    return False

matrix = [[1, 3, 5, 10], [2, 4, 6, 11], [7, 9, 12, 20]]
target = 4
print(search_matrix(matrix, target))

Meituan

  • SQL: 평균 점수가 60점 이상인 학생의 이름 찾기
SELECT name FROM score WHERE chinese + math + english > 180;

Tencent

  • 프로그래밍: 중복 구간 합치기
def merge_intervals(intervals):
    if not intervals:
        return []
    intervals.sort(key=lambda x: x[0])
    merged = [intervals[0]]
    for current in intervals[1:]:
        last = merged[-1]
        if current[0] <= last[1]:
            last[1] = max(last[1], current[1])
        else:
            merged.append(current)
    return merged

intervals = [[1, 3], [2, 6], [8, 10], [15, 18]]
print(merge_intervals(intervals))

Zhihu

  • SQL: 동일 나이의 사람 중 가장 많은 나이 찾기
SELECT age, COUNT(*) as count FROM users GROUP BY age ORDER BY count DESC LIMIT 1;
  • 프로그래밍: 괄호 매칭 확인
def is_valid_parentheses(s):
    stack = []
    mapping = {')': '(', '}': '{', ']': '['}
    for char in s:
        if char in mapping.values():
            stack.append(char)
        elif char in mapping.keys():
            if stack == [] or mapping[char] != stack.pop():
                return False
    return stack == []

s = "([{}])"
print(is_valid_parentheses(s))

태그: 면접 SQL 프로그래밍 네트워킹 nginx

7월 19일 23:11에 게시됨