TensorFlow 신입 기술면접

TensorFlow 신입 · 취준 (0~1년) 종합 5문항 조회수 31 · 2026-08-04 (화) 13:44:41
1 프레임워크 기초
Easy

Q. TensorFlow에서 Tensor란 무엇이며, 스칼라, 벡터, 행렬과 어떤 관계가 있는지 설명해주세요.

Tensor의 차원(rank)과 각 차원에 따른 데이터 형태를 생각해보세요.

A. 모범답안

Tensor는 다차원 배열을 나타내는 TensorFlow의 기본 데이터 구조입니다. 0차원 Tensor는 스칼라(단일 값), 1차원 Tensor는 벡터(1D 배열), 2차원 Tensor는 행렬(2D 배열)에 해당합니다. 3차원 이상의 고차원 배열도 모두 Tensor로 표현할 수 있으며, 이미지 데이터는 보통 (batch, height, width, channels)의 4차원 Tensor로 표현됩니다. Tensor는 GPU에서의 병렬 연산을 효율적으로 수행하기 위한 구조로 설계되었습니다.

핵심 포인트
  • • 다차원 배열 구조
  • • 차원에 따른 분류 (스칼라, 벡터, 행렬)
  • • GPU 병렬 연산 최적화
답변에 넣으면 좋은 키워드
Tensor 차원 rank 스칼라 벡터 행렬
실무에서는

이미지 분류 모델에서 입력 데이터를 4차원 Tensor로 변환하여 배치 단위로 학습시킬 때 사용됩니다.

Follow-up 질문

TensorFlow에서 tf.constant와 tf.Variable의 차이는 무엇인가요?

2 CS 기초 - 알고리즘
Easy

Q. 머신러닝에서 경사하강법(Gradient Descent)의 기본 원리를 설명하고, 학습률(learning rate)이 너무 크거나 작을 때 어떤 문제가 발생하는지 말씀해주세요.

손실 함수의 기울기를 이용해 최소값을 찾아가는 과정을 생각해보세요.

A. 모범답안

경사하강법은 손실 함수의 기울기(gradient)를 계산하여 기울기의 반대 방향으로 파라미터를 조금씩 업데이트하면서 손실 함수의 최소값을 찾아가는 최적화 알고리즘입니다. 학습률이 너무 크면 최소값을 지나쳐버려 발산하거나 진동하게 되고, 너무 작으면 학습 속도가 매우 느려지거나 local minimum에 갇힐 수 있습니다. 적절한 학습률을 설정하는 것이 모델 학습의 핵심 중 하나입니다. TensorFlow에서는 Adam, RMSprop 같은 adaptive learning rate optimizer를 제공하여 이 문제를 완화합니다.

핵심 포인트
  • • 기울기 반대 방향으로 파라미터 업데이트
  • • 학습률이 클 때: 발산/진동
  • • 학습률이 작을 때: 느린 학습/local minimum
답변에 넣으면 좋은 키워드
경사하강법 gradient 학습률 최적화 손실 함수 Adam
실무에서는

신경망 모델 학습 시 손실을 줄이기 위해 가중치를 업데이트할 때 매 에포크마다 사용됩니다.

Follow-up 질문

Batch Gradient Descent, Stochastic Gradient Descent, Mini-batch Gradient Descent의 차이를 설명해주세요.

3 프레임워크 활용
Medium

Q. TensorFlow의 Keras API에서 Sequential 모델과 Functional API의 차이점을 설명하고, 각각 어떤 상황에서 사용하는 것이 적합한지 말씀해주세요.

모델의 구조가 단순한지 복잡한지에 따라 선택이 달라집니다.

A. 모범답안

Sequential 모델은 층을 순차적으로 쌓는 단순한 구조로, 입력에서 출력까지 일직선으로 연결된 모델에 적합합니다. 코드가 간결하고 직관적이어서 초보자가 사용하기 쉽습니다. Functional API는 다중 입력, 다중 출력, 층 공유, 잔차 연결(residual connection) 등 복잡한 구조를 구현할 수 있습니다. ResNet, Inception 같은 복잡한 아키텍처나 멀티태스크 학습 모델을 만들 때는 Functional API를 사용해야 합니다. 실무에서는 프로토타입은 Sequential로 빠르게 만들고, 성능 개선을 위해 복잡한 구조가 필요할 때 Functional API로 전환합니다.

핵심 포인트
  • • Sequential: 순차적 구조, 간결함
  • • Functional API: 복잡한 구조, 다중 입출력 가능
  • • 상황에 따른 선택
답변에 넣으면 좋은 키워드
Sequential Functional API 다중 입출력 residual connection Keras
실무에서는

이미지와 텍스트를 동시에 입력받는 멀티모달 추천 시스템을 구축할 때 Functional API를 사용합니다.

Follow-up 질문

Functional API로 두 개의 입력을 받아 하나의 출력을 내는 모델을 어떻게 구성하시겠습니까?

4 트러블슈팅
Medium

Q. TensorFlow로 이미지 분류 모델을 학습시키는데 학습 정확도는 95%인데 검증 정확도는 60%에 머물러 있습니다. 이 상황에서 어떤 문제가 발생한 것이며, 어떤 방법들로 해결할 수 있는지 설명해주세요.

학습 데이터와 검증 데이터에서의 성능 차이가 큰 경우를 생각해보세요.

A. 모범답안

이는 전형적인 과적합(overfitting) 문제입니다. 모델이 학습 데이터에만 지나치게 최적화되어 새로운 데이터에 대한 일반화 성능이 떨어진 상태입니다. 해결 방법으로는 첫째, Dropout이나 L1/L2 정규화를 추가하여 모델의 복잡도를 제한할 수 있습니다. 둘째, 데이터 증강(Data Augmentation)을 통해 학습 데이터의 다양성을 높일 수 있습니다. 셋째, 모델의 층 수나 뉴런 수를 줄여 용량을 감소시키거나, 넷째, Early Stopping을 적용하여 검증 손실이 증가하기 시작할 때 학습을 중단할 수 있습니다. 다섯째, 더 많은 학습 데이터를 수집하는 것도 근본적인 해결책입니다.

핵심 포인트
  • • 과적합 문제 진단
  • • 정규화 기법 적용
  • • 데이터 증강 및 Early Stopping
답변에 넣으면 좋은 키워드
overfitting Dropout 정규화 Data Augmentation Early Stopping 일반화
실무에서는

실제 서비스에 배포한 모델이 새로운 사용자 데이터에서 성능이 떨어질 때 과적합 여부를 확인하고 대응합니다.

Follow-up 질문

Dropout의 동작 원리와 학습 시와 추론 시의 동작 차이를 설명해주세요.

5 인성 - 학습 경험
Easy

Q. TensorFlow를 처음 학습하면서 가장 어려웠던 개념이나 문제는 무엇이었고, 어떻게 극복하셨나요? 그 과정에서 배운 점을 말씀해주세요.

구체적인 상황, 시도한 방법, 결과, 배운 점 순서로 답변을 구성해보세요.

A. 모범답안

이 질문은 STAR 기법으로 답변하시면 좋습니다. Situation(상황): 어떤 개념이나 문제가 어려웠는지 구체적으로 설명합니다. Task(과제): 그것을 이해하거나 해결해야 했던 이유를 말합니다. Action(행동): 공식 문서를 읽거나, 튜토리얼을 따라하거나, 커뮤니티에 질문하거나, 작은 프로젝트를 만들어보는 등 시도한 구체적인 방법들을 설명합니다. Result(결과): 최종적으로 어떻게 이해하게 되었고, 그 과정에서 문제 해결 능력이나 학습 방법에 대해 무엇을 배웠는지 말합니다. 기술적 깊이보다는 능동적인 학습 태도와 문제 해결 과정을 보여주는 것이 중요합니다.

핵심 포인트
  • • 구체적인 어려움 제시
  • • 능동적인 학습 방법
  • • 성장과 배움 강조
답변에 넣으면 좋은 키워드
STAR 문제 해결 자기주도 학습 성장 극복
실무에서는

실무에서도 새로운 기술을 빠르게 습득하고 문제를 스스로 해결하는 능력이 중요합니다.

Follow-up 질문

앞으로 TensorFlow와 딥러닝 분야에서 어떤 부분을 더 깊이 공부하고 싶으신가요?

댓글 0

로그인 후 댓글을 작성할 수 있습니다.

아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!