목록코딩공부/기술면접 (7)
슈코딩
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tWGuL/btrPgFMAx9t/UT2OAsdDmKwQw0ahWkCu1K/img.png)
⭐46. Django 프로젝트를 배포할 때, 시크릿키를 노출하지 않는 방법에 대해서 설명하시오 .env에 시크릿키와 database정보들을 작성하고 settings.py에서는 .env파일의 정보를 가져와서 사용합니다. 그리고 .env를 .gitignore에 포함시켜 github에 push되지 않도록 하고 EC2서버에 따로 .env파일을 업로드합니다. 같은 방식으로 local_settings.py라는 파일을 생성해서 하는 방법도 있습니다. ⭐47. Django 프로젝트 진행 시 발생하는 CORS 오류를 처리하는 방법에 대해서 설명하시오 CORS는 Cross Origin Resource Sharing의 약자로 도메인 또는 포트가 다른 서버의 자원을 요청하는 매커니즘입니다. CORS 문제는 다른 도메인의 서버..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqpqMe/btrPfYy7WBw/sV7ImQ4kFxv5BybcqU1J20/img.png)
⭐31. DRF Serializer는 무엇이며, 어떤 기능을 수행합니까? Serializer는 queryset과 모델 인스턴스와 같이 복잡한 데이터를 JSON, XML 또는 다른 콘텐츠 유형으로 변환할 수 있고, Serializer는 받은 데이터의 유효성 검사를 진행한 뒤 복잡한 타입으로의 형 변환을 할 수 있도록 Serialization을 제공합니다. ⭐32. JSON 형식으로 데이터를 받고, Serializer를 통해서 JSON형식으로 데이터를 반환하는 이유는 무엇인가요? JSON은 특정 언어의 종속 되지 않습니다. xml 보다 가볍기 때문에 최소한의 용량으로 데이터 전송이 가능합니다. xml 보다 구조정의의 용이성과 가독성이 좋습니다. ⭐33. Serializer를 통해서 특정 모델에 존재하지 않지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xCuJY/btrPgWN6zSs/0a01JNq7gMk268zYZYjqkK/img.png)
⭐16. Django의 기본 기능을 사용하는 것과 JWT를 사용하여 로그인 기능을 구현하는 것에는 어떤 차이점이 있습니까? JWT를 사용하면 유저 관련 정보를 모두 base64 인코딩을 하고 유지 시간도 짧아 보안에 유리하며, 다른 프레임워크에 호환성도 높습니다. Django 기본 인증은 Django 내장인 만큼 훨씬더 간편하게 사용할 수 있는 이점이 있습니다. ⭐17. 데이터 테이블 간의 관계를 나타내는 FK, OneToOne, ManyToMany 필드에 대해서 설명하시오 FK: 다른 테이블과 관계가 있을 때 다른 테이블의 내용을 불러오고 이용할 수 있습니다. OnetoOne: 1:1의 대응 관계 테이블입니다. 예를들어 유저와 유저프로필 모델 ManytoMany: A 모델에 연관된 B 모델 필드가 여러..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhMmBw/btrODCJFt3C/qWuKZIOec9aoGS8Q8UJ9y1/img.png)
⭐1. Django가 무엇인지 설명하시오 파이썬을 기반으로하는 웹 프레임워크입니다. ⭐2. Django를 백엔드 스택으로 선정한 이유는 무엇입니까? 파이썬을 기반으로 하는 프레임워크중에서 가장 대표적으로 쓰이며, DB와 Admin페이지, ORM등 기본적으로 제공하는 기능이 편리하여 개발에 유용하기 때문입니다. ⭐3. Django에는 어떤 장점이 있습니까? ORM, Admin, permission등 내부 기능이 많아서 숙지하면 빠른개발이 가능하고, Django 템플릿을 활용하여 프론트엔드 개발도 다른 기술없이 개발이 가능합니다. ⭐4. Django가 다른 Python 프레임워크와 비교되는 특징이 있다면? Django의 특징은 기본적으로 제공되는 기능이 많다는 점이고, 파이썬에서 가장 많이 쓰이는 오픈 소스..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b7RYMo/btrPhp3zALb/bPSZQWUPCYKz4a8jUxkUKk/img.png)
💡관심사 분리란 무엇인지 설명해주세요 관심사 분리 하나의 관심사(함수, 기능)는 하나의 역할만 가지도록 구성하는 것 하나의 함수에 여러가지 조건들로 혼잡스러운 로직을 정리하기 위함 List 안의 숫자들에서 최댓값과 최솟값을 찾고, 구한 값을 모두 더하는 로직이 있다고 가정 했을때 그 안에서의 관심사는 최댓값 찾기, 최솟값 찾기, 모두 더하기 이렇게 3가지로 나눌 수 있다. 이렇게 각각의 관심사를 함수로 나누어서 처리를 하는 기법 💡SOLID 원칙에 대해 설명해주세요 SOLID 원칙 객체지향 프로그래밍의 가장 큰 장점인 유연성, 재사용성, 유지보수성 객체지향 5대 원칙 SRP(단일책임원칙) 클래스는 다른 책임과 관련된 코드에 영향을 미치지 않기 위해 단 한개의 책임을 가져야한다. OCP(개방-폐쇄 원칙) ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dZRWef/btrO9lWnjVD/uwsjBaO5aY93jxGpPGZzk0/img.png)
💡Deadlock이 무엇인지 설명해주시고 해결할 수 있는 방안에 대해 알려주세요 Deadlock 교착상태란 뜻으로 서로 필요한 자원 사용을 위해 상대방의 종료를 기다리며, 무한 대기에 빠지는 상황 예방 (Prevention) 기존 Deadlock이 프로세스들끼리 자원 사용시 서로 상호 배제한단 것이 문제가 되었으니, 자원을 공유하게 하여 대기에 빠지지 않도록 함 교착상태의 필요조건을 부정함으로써 교착상태가 발생하지 않도록 미리 예방하는 방법 환형 대기, 비선점, 점유와 대기, 상호 배제 4가지 부정 회피 (Avoidance) 프로세스에 대한 교착 상태 가능성을 미리 판단하며 배제하지 않고 적절하게 피해나가는 방법 예시) 은행원 알고리즘 처럼 사전에 필요로 하는 최대 자원을 파악하여 교착상태를 최대한 피함..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFQsQt/btrOEqhDTB5/7K555QsU6B9APA4Q6ZbtqK/img.png)
💡Stack과 Queue 자료구조에 대해 말하고 차이점에 대해 설명하시오 Stack 이란? 같은 구조와 크기의 자료를 Top방향으로만 쌓는 구조 가장 최근에 삽입된 데이터가 가장 위에 쌓이며 가장 먼저 삭제 FIFO 후입선출의 구조 Queue 란? 한쪽에서는 삽입, 다른 한쪽에서는 삭제를 담당하는 구조 삽입연산이 이루어지는 Rear, 삭제연산이 이루어지는 Front의 구성 LIFO 선입선출의 구조 💡Array와 Linked List 자료구조에 대해 말하고 차이점에 대해 설명해보시오 Array (배열) 특정 크기 만큼 연속된 메모리 공간에 데이터를 저장하는 자료구조 연속된 메모리 -> 데이터의 주소를 통해서 데이터 조회 가능 데이터를 추가하는 경우, 한자리를 비워야되는데 모든자료가 한칸 밀리게 되어 추가,..