[챗GPT로 코딩 공부] 챗GPT로 개발자 면접 준비하기

내일배움캠프 수료생들은 챗GPT를 어떻게 개발 공부에 활용할까요?
Jun 28, 2024
[챗GPT로 코딩 공부] 챗GPT로 개발자 면접 준비하기
✍🏼
챗GPT, 개발 공부에 있어서 든든한 친구 같은 존재이죠. 내일배움캠프의 수강생들도 혼자 공부할 때에는 챗GPT의 도움을 받고 있는데요. 오늘은 내일배움캠프 수료생들의 챗GPT 경험담을 보고, 여러분의 개발 공부에 적용해봅시다.
 

1. 최종 프로젝트 코드 해석

이전에도 말했다시피, 최종 프로젝트를 잘 만드는 것도 중요하지만 이걸 본인의 것으로 체득하는 것이 면접에서는 더더욱 중요합니다. 그게 설령 다른 팀원들이 만든 것이라고 해도 말이죠.
물론, 가장 좋은 방법은 최종 프로젝트 때 같이 만들었던 팀원들과 교류해서 서로 알아가는 것이지만, 수료 이후에는 시간을 맞추기 어려운 부분도 있고, 팀원들 역시 본인이 만든 기술 스택을 전부 완벽하게 설명하기 쉽지 않습니다. 이 때 챗GPT를 이용하시면 좋습니다.
이 부분은 앱 개발 부분의 코드 해석과 예시가 비슷하여 굳이 예시까지는 보여드리지 않고 넘어가도록 하겠습니다.
 

2. 기술 면접질문 정리

면접에서는 이력서에 적혀 있는 내용을 물어보는 것 외에도, 기술적인 부분에 대한 질문을 묻기도 합니다. 예를 들면 이런 것들이 있죠.
 
Q. 안드로이드에서 ANR이란 무엇이고, 어떻게 방지할 수 있나요?
이걸 컴퓨터 앞에 앉아 있을 때에는 바로 대답할 수 있거나, 바로 검색해서 찾아볼 수 있지만 막상 사람 앞에서 이야기하기는 쉽지 않습니다. 알고 있어도 바로 떠오르지 않거나 말을 더듬을 수도 있고, 혹은 진짜 모를 수도 있습니다. 그렇기 때문에 평소에 이에 대한 준비를 철저히 해야합니다.
 
그러면 챗GPT로 어떻게 이걸 준비를 할까요? 우선, 챗GPT에게 개념을 물어봅시다.
 
기원: 안드로이드에서 ANR이란 무엇이고, 어떻게 방지할 수 있나요? 챗GPT: ANR(애플리케이션 노응답, Application Not Responding)은 안드로이드 애플리케이션이 사용자 입력에 대해 일정 시간 동안 응답하지 않을 때 시스템이 발생시키는 오류입니다. 이는 사용자가 앱을 조작할 수 없는 상태로 만들어 사용자 경험을 저하시키는 중요한 문제입니다. 주로 다음과 같은 상황에서 ANR이 발생할 수 있습니다.
  • 메인 스레드(Main Thread)에서 장시간 실행되는 작업
    • 네트워크 요청, 데이터베이스 액세스, 복잡한 계산 등을 메인 스레드에서 수행하면 UI가 응답하지 않고 ANR이 발생할 수 있습니다.
  • 잠긴 장치에서 실행되는 작업
    • 화면이 꺼진 상태에서 앱이 작업을 수행하면 시스템이 앱을 ANR 상태로 간주할 수 있습니다.
ANR을 방지하기 위해 다음과 같은 접근 방식을 고려할 수 있습니다:
  • UI 스레드에서 오래 걸리는 작업을 최소화
    • 네트워크 요청, 파일 I/O, 데이터베이스 액세스 등은 백그라운드 스레드에서 수행되어야 합니다.
  • 비동기 작업 사용
    • 안드로이드에서는 AsyncTask, RxJava, Kotlin의 코루틴 등을 사용하여 비동기 작업을 처리할 수 있습니다.
  • 작업 분할
    • 복잡한 작업을 여러 단계로 분할하여 UI 스레드의 부담을 줄입니다.
  • 네트워크 요청 및 데이터베이스 액세스 최적화
    • 네트워크 요청이나 데이터베이스 액세스가 빠르게 처리될 수 있도록 최적화합니다.
  • 작업을 적절한 컨텍스트에서 수행
    • 백그라운드 작업은 Service나 IntentService를 사용하여 실행하고, UI 업데이트는 메인 스레드에서만 수행합니다.
  • ANR 리포팅 및 로깅
    • 애플리케이션에서 ANR이 발생할 경우 즉각적으로 리포팅하여 원인을 파악하고 해결할 수 있도록 합니다.
ANR을 방지하기 위해선 애플리케이션을 개발할 때 사용자 경험을 최우선으로 생각하고, UI 스레드의 부담을 줄이는 것이 중요합니다.
 
위와 같이 굉장히 상세하게 알려줍니다. 하지만, 면접에서는 이렇게 상세하게 말하기에는 시간이 촉박하기도 하거니와 핵심을 딱딱 말할 줄 알아야 합니다. 그렇기 때문에 여기서 요약하는 과정 또한 필요합니다.
 
기원: 위의 답을 요약해줘
챗GPT: ANR(Application Not Responding)은 안드로이드 애플리케이션이 일정 시간 동안 사용자 입력에 응답하지 않을 때 발생하는 오류입니다. 이를 방지하기 위해서는 UI 스레드에서 장시간 작업을 피하고, 비동기 작업을 수행하는 것이 중요합니다. 네트워크 요청과 데이터베이스 접근은 백그라운드 스레드에서 처리하고, StrictMode를 사용해 개발 중 문제를 감지하며 ANR 로그를 분석하여 원인을 파악할 수 있습니다. 이러한 방법을 통해 ANR을 예방하고 사용자 경험을 개선할 수 있습니다.
 
위의 답보다는 훨씬 압축되었죠? 이 다음은 요약된 내용이 혹시나 잘못되지는 않았는지 구글링을 통해서 체크한 후, 정리한 내용을 따로 저장해둡니다. 마지막으로, 정리한 내용을 토대로 실전 연습을 합니다.
 
 

내일배움캠프가 여러분의 러닝메이트가 되어드리겠습니다

내일배움캠프의 많은 수강생들이 부트캠프 생활을 수료하고 현업에서 개발자로 활약하고 있습니다. 내일배움캠프는 모든 운영진이 교육, 특강, 12시간 밀착 케어, 찐한 관리, 인재 채용까지 열과 성을 다해 수강생들의 꿈을 지원하고 있습니다. 수많은 장애물을 넘을 수 있도록 내일배움캠프가 든든한 러닝메이트가 되어드리겠습니다. 내일배움캠프과 함께 여러분의 개발자 여정을 시작하세요.
 
 
CREDIT
글 | 김기원 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
Share article
Subscribe to our newsletter
RSSPowered by inblog