1. 스프링)기술면접질문
1)디버깅을 어떤 방식으로 진행하는지 설명해주세요.
디버깅은 코드 내의 버그나 문제를 식별하고 수정하는 과정입니다. 이 과정은 정확한 문제 정의를 필요로 하며, 단순히 오류를 수정하는 것뿐만 아니라 원하는 UX/UI, 로직, 성능, 비용 달성을 위해 수행됩니다. 도구의 사용도 중요하지만, 문제 정의가 디버깅에서 가장 중요한 부분입니다.
디버깅의 기본 원칙
문제 정의: 디버깅의 첫 단계는 문제를 정확하게 정의하는 것입니다. 이는 적절한 해결책을 찾는 데 필수적입니다. 2단계별 실행: 코드를 한 단계씩 실행하여 문제가 발생하는 지점을 정확히 파악합니다. 이를 통해 프로그래밍 오류를 식별하고 임시 변경을 적용할 수 있습니다.
디버깅 도구와 기법
Visual Studio IDE: C#, C++, Visual Basic 등 다양한 프로그래밍 언어에 대한 디버깅 도구를 제공합니다. 코드 실행 단계별로 검사하고, 변수를 검사하며, 표현식을 평가하고, 코드 경로를 검사할 수 있습니다.
VSCode 디버깅: Visual Studio Code에서도 효과적인 디버깅 기능을 제공합니다. 코드의 문제를 식별하고 수정하는 데 도움을 줍니다.
디버깅의 중요성
디버깅은 프로그래밍 과정에서 필수적인 부분입니다. 코드의 오류를 식별하고 수정함으로써, 프로그램의 정확성과 안정성을 보장할 수 있습니다. 또한, 디버깅 과정을 통해 프로그래머는 자신의 코드에 대한 더 깊은 이해를 얻을 수 있습니다.
디버깅은 개발 과정에서 불가피하게 마주치게 되는 문제들을 해결하는 데 있어 매우 중요한 역할을 합니다.
2)협업하면서 가장 어려웠던 점이 무엇인가요?
협업 중 어려웠던 점과 해결 방법
의사소통과 일정 조율: 가장 어려웠던 점은 의사소통과 일정 조율이었습니다.
이를 해결하기 위해 효과적인 의사소통과 유연한 일정 관리의 중요성을 깨달았습니다.
의견 불일치: 팀원 간의 의견 불일치로 인해 목표 달성에 어려움을 겪었습니다. 의견 조율과 업무 분담을 통해 이 문제를 해결했습니다.
하이브리드 업무 방식: 하이브리드 업무 방식에서 팀 협업의 중요성과 개선 방법을 배웠습니다. 이해, 공감, 정직한 피드백이 중요하다는 것을 알게 되었습니다.
구현 중 기술적으로 어려웠던 부분과 해결 방법
기술적 문제 해결: 최종프로젝트 찌리릿에서 발생한 복잡한 기술적 문제를 해결한 경험을 공유했습니다. 문제를 상세히 설명하고 해결 방법을 설명하는 것이 중요합니다.
모의 면접 경험 공유: 실제 면접 모습으로 튜터님들이 백엔드 개발자로 모의면접을 3회 진행했습니다. 프로젝트에 대한 이해와 구현한 기술에 대한 설명과 혹은 깊이 있는 질문, CS 지식이 필요한 질문들을 해주셔서 노션에 정리했습니다. 자기소개에 대한 피드백도 받았습니다. 정리를 하고 준비를 하겠지만 부족한 부분은 많아보입니다.
협업과 구현 과정에서 마주친 어려움을 해결하는 것은 개인의 성장과 팀의 성공에 매우 중요합니다. 이러한 경험을 통해 더 나은 소통 방법과 문제 해결 능력을 개발할 수 있습니다.
- 구현 하면서 기술적으로 어려웠던 부분을 어떻게 해결하였나요?
저는 기본적인 crud 구현과 테스트 코드 구현을 하였습니다. 제 개인적으로는 어려웠지만, 뭐라고 이야기할지 모르겠습니다.
3)프로젝트를 진행하면서 기술적인 도전과제는 무엇이었나요?
주요 기술적 도전과제와 해결 방안
UI 디자인 개선: 기존 시스템에서 각 장면별로 별도의 화면 처리가 있어 UI 디자인을 개선하는 것이 기술적 도전과제였습니다.
안정적인 서비스 제공: 오늘의집은 안정적인 서비스 제공과 기술적 도전 과제를 갖추고 있어 최고의 선택지로 여겨집니다. 이는 기술적 도전과제를 극복하는 것이 서비스의 질을 높이는 데 중요함을 보여줍니다.
문제 해결 능력: 성공적인 웹 프로젝트 관리를 위해서는 문제 해결 능력이 중요합니다. 이는 체계적이고 효율적인 접근 방식을 필요로 하며, 문제의 이해와 정의, 정보 수집, 원인 분석, 효과적인 해결책 도출, 결과 평가 등의 단계를 포함합니다.
4)Git Repository를 팀원들과 공동으로 작업하면서 발생했던 문제점이 있다면 무엇인지, 어떻게 해결하였는지 이야기해주세요.
Git Repository를 사용하여 팀원들과 공동으로 작업을 진행하면서 여러 문제점이 발생할 수 있습니다.
Git 공동 작업 중 발생한 주요 문제점과 해결 방법
변경 사항 충돌: 팀원들이 동시에 같은 파일을 수정할 때 충돌이 발생할 수 있습니다. 이러한 충돌을 해결하기 위해서는 git pull 명령어를 사용하여 최신 변경 사항을 로컬 저장소로 가져온 후, 충돌하는 부분을 수동으로 해결해야 합니다. 상황따라 팀원들과 화면 공유하면서 변경사항을 수정했습니다.
접근 권한 관리: GitHub에서는 개인 저장소에 협업자를 초대하여 공동 작업을 할 수 있습니다. 이를 통해 팀원 각자가 코드를 클론하고, 변경 사항을 추가(git add), 커밋(git commit), 푸시(git push)할 수 있습니다. 공동 작업을 위해 협업자를 저장소에 추가하는 과정이 필요합니다.
깃 컨벤션지키기: 팀에서 정한 깃 컨벤션을 지켜서 깃허브 기록에 일관되게 남기고, 풀리퀘스트 승인받은후 올릴때 오류가 없도록 주의해야 했습니다. 저희팀은 CI을 활용하여 자동테스트 기능을 사용함으로 문제가 될 수 있는 오류 여부를 줄이는데 도움이 되었습니다. (.evn, .ymi, 빌드그운드.kts 공유하였습니다.)
2. 이력서 주차.
자료모으기-
'개발일지' 카테고리의 다른 글
| 2024.04.05 TIL (0) | 2024.04.05 |
|---|---|
| 2024.04.04 TIL (0) | 2024.04.04 |
| 2024.04.03TIL (0) | 2024.04.03 |
| 2024.04.02 TIL (0) | 2024.04.02 |
| 2024.04.01 TIL (0) | 2024.04.01 |