Skip to content

Commit 621f59e

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 5c484db + 6e38e6a commit 621f59e

File tree

1 file changed

+62
-4
lines changed

1 file changed

+62
-4
lines changed

README.md

Lines changed: 62 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Backend-Interview-Question
22

3+
## Table Of Contents
4+
5+
- [Contributors](#Contributors)
6+
- [Information](#Information)
7+
- [이 저장소를 잘 사용하기 위한 팁](#이-저장소를-잘-사용하기-위한-팁)
8+
- [면접 전 정보](#면접-전-정보)
9+
- [CS 관련 지식](#CS-관련-지식)
10+
- [언어 관련](#언어-관련)
11+
- [기타](#기타)
12+
- [면접 꿀팁](#면접-꿀팁)
13+
- [Special Thanks to](#Special-Thanks-to)
14+
15+
## Contributors
16+
17+
<a href="https://github.com/ksundong/backend-interview-question/graphs/contributors">
18+
<img src="https://contrib.rocks/image?repo=ksundong/backend-interview-question" />
19+
</a>
20+
21+
이 프로젝트에 기여해주신 분들입니다.
22+
23+
## Information
24+
325
백엔드 개발자를 준비하면서 받았던 면접 질문, 학습했던 내용, 예상가능한 질문을 선별했습니다.
426

527
이 저작물은 CC BY-NC(저작자 표시-비영리)입니다.
@@ -16,7 +38,7 @@
1638

1739
백엔드 포지션은 면접 전 검증을 위해 과제 전형을 보는 경우도 많지만, 코딩테스트를 보는 경우가 훨씬 많습니다.
1840

19-
## 잘 사용하는
41+
## 이 저장소를 잘 사용하기 위한
2042

2143
문제를 보고 음성메모로 답을 해봅시다. 그리고 음성메모를 들으면서 자신이 알고있는 것이 잘 전달되는지 확인합시다.
2244

@@ -28,14 +50,18 @@
2850

2951
모의 면접을 도와줄 지인이 있다면 모의면접을 부탁해서 실제 면접처럼 수행하면 더욱 실전에서 도움이 될 것 같습니다.
3052

31-
## 과제 전형
53+
이 주제들을 가지고 학습을 하는 것도 도움이 많이 될 것입니다.
54+
55+
## 면접 전 정보
56+
57+
### 과제 전형
3258

3359
과제 전형은 애플리케이션 서버를 만들거나, 아니면 특정 프로그램을 작성하는 과제로 나눠질 수 있습니다.
3460
팁을 드리자면 출제 의도를 파악하려고 노력한 코딩을 하셔야합니다. 그리고, 면접에서 관련된 질문이 나올 수 있으니 사용해 본 기술이거나 처음 사용했더라도 학습을 해두셔야합니다. '왜 이 기술을 사용했는가?', '이 기술 말고 다른 선택지는 없는가?' 정도의 질문은 예상해 볼만한 질문이니 대비를 해둡시다. 과제가 통과되었다면 끝난 것이 아닙니다. 그 과제에서 더 개선할 부분은 무엇인지, 확장 포인트는 어디인지까지 고민해봅시다.
3561

3662
과제 전형 자체가 약간 새로운 시도에 가깝기 때문에 정답은 없습니다. 본인이 할 수 있는 최선을 다해서 해당 언어의 철학에 맞는 코드를 작성해봅시다. 가령 객체지향 프로그래밍 언어라면, '재사용성', '변경에 유연함'을 염두에 두고 개선 포인트를 잡아봅시다. 또, 해당 회사의 기술스택을 확인하고 이를 적용할만하다면 적극적으로 사용해봅시다. 최신 기술에 유연한 사고를 갖고 있다는 인상을 줄 수도 있습니다.
3763

38-
## 코딩테스트
64+
### 코딩테스트
3965

4066
코딩테스트는 여러 플랫폼이 있으며, 요즘은 프로그래머스를 많이 사용하고, 언어는 Python을 추천합니다.
4167
제가 추천하는 학습 방법은 2개월 정도를 잡고 코딩테스트 관련 서적을 한 권 끝내거나, 유형별 문제를 푸는 것이고, 여유가 있다면 1~2시간 풀어보고(난이도마다 상이) 풀었다면 시간 복잡도를 생각하고, 다른 풀이는 없는지 고민해봅시다. 대략 이 정도 수준의 공부를 하시고, 실력을 유지하기 위해 꾸준히 한 두 문제씩 풀어봅시다. 저는 코딩테스트가 약한편이어서 더 많은 팁을 드릴 수는 없을 것 같네요.
@@ -435,6 +461,12 @@
435461
<p>링크드 리스트는 중간에 데이터를 삽입하거나 삭제하는 것이 용이하다는 장점이 있습니다.</p>
436462
</details>
437463

464+
<details>
465+
<summary>List와 Set의 차이에 대해서 설명해주세요.</summary>
466+
</br>
467+
<p>List는 <b>중복</b>된 데이터를 저장하고 순서를 유지하는 선형 자료구조이고, Set은 <b>중복</b>되지 않은 데이터를 저장할 수 있고, 일반적으로 순서를 유지하지 않는 선형 자료구조입니다.(Set은 집합입니다., TreeSet과 같이 순서를 유지하는 Set도 존재합니다.) </p>
468+
</details>
469+
438470
<details>
439471
<summary>Hash Function, HashTable에 대해서 설명해주세요.</summary>
440472
</br>
@@ -925,6 +957,20 @@
925957
<p>만약 그런 객체를 가져와야 하는 경우 Fetch Join이라고 하는 JPQL의 join fetch를 사용합니다. 쿼리 한 번으로 해결할 수 있고, 또 다른 방법으로는 EntityGraph를 사용하는 방법이 있습니다.</p>
926958
</details>
927959

960+
### Python
961+
962+
<details>
963+
<summary>GIL에 대해 설명해주세요.</summary>
964+
</br>
965+
<p></p>
966+
</details>
967+
968+
<details>
969+
<summary>Magic method에 대해 설명해주세요.</summary>
970+
</br>
971+
<p></p>
972+
</details>
973+
928974
## 기타
929975

930976
### 트러블 슈팅
@@ -1039,6 +1085,12 @@
10391085
<p></p>
10401086
</details>
10411087

1088+
<details>
1089+
<summary>컨테이너 환경에서의 디버깅은 어떤식으로 하며 상대적으로 어려운 점은 무엇인가요?</summary>
1090+
</br>
1091+
<p></p>
1092+
</details>
1093+
10421094
### DevOps
10431095

10441096
DevOps는 어쩌면 신입에겐 물어보지 않을 수도 있습니다. 하지만 DevOps가 무엇인지 정도는 알아두는게 좋을 것 같습니다.
@@ -1055,7 +1107,8 @@ DevOps는 어쩌면 신입에겐 물어보지 않을 수도 있습니다. 하지
10551107
<details>
10561108
<summary>DevOps가 무엇인지 설명해주세요.</summary>
10571109
</br>
1058-
<p></p>
1110+
<p>DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화와 방식이며 자동화, 측정, 공유를 수행하고 이 모든 것들을 축적해나가는 것입니다.</p>
1111+
<p>DevOps를 수행하면, 기존의 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있습니다. 이를 통해서 고객 친화적이고, 시장에 효과적으로 대응할 수 있는 유연성을 얻을 수 있습니다.</p>
10591112
</details>
10601113

10611114
### 커뮤니케이션
@@ -1135,6 +1188,11 @@ DevOps는 어쩌면 신입에겐 물어보지 않을 수도 있습니다. 하지
11351188

11361189
프로젝트를 수행할 때, 내가 이 기술을 단순히 좋아보여서 사용한 것이 아니라, 많은 고민을 했음을 보여주도록 하세요. 가장 간단한 질문으로는 '왜 그 기술을 사용했나요?', '그 기술 말고 다른 기술은 왜 사용하지 않았나요?', '대체할만한 기술이 있나요?' 등이 있습니다.
11371190

1191+
## Special Thanks to
1192+
1193+
- [⭐️ Java, Spring, Infra와 객체지향, Test에 기여해주신 Rebwon님 ⭐️](https://github.com/Rebwon)
1194+
- [⭐️ Python 언어에 대한 질문과 컨테이너 환경 관련 질문을 기여해주신 hyounoh님 ⭐️](https://github.com/hyounoh)
1195+
11381196
<!--
11391197
<details>
11401198
<summary></summary>

0 commit comments

Comments
 (0)