Skip to content

Commit 41e2f56

Browse files
committed
[2023-08-02] - 면접때 받안던 질문 추가
1 parent ec70058 commit 41e2f56

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

README.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,14 @@ print("hello world!")
369369
<p>일반적인 경우의 장점으로는 빠른 검색 성능을 들 수 있습니다.</p>
370370
<p>일반적인 경우의 단점으로는 인덱스를 구성하는 비용 즉, 추가, 수정, 삭제 연산시에 인덱스를 형성하기 위한 추가적인 연산이 수행됩니다.</p>
371371
<p>따라서, 인덱스를 생성할 때에는 트레이드 오프 관계에 놓여있는 요소들을 종합적으로 고려하여 생성해야합니다.</p>
372+
<p>그렇다고 모든 곳에서 인덱스를 사용하면 오히려 악효과를 낼 수 있다.</p>
373+
<p>1. 인덱스를 생성하면 추가적인 저장공간이 필요하고 인덱스 관리를 위한 오버헤드가 발생 할 수 있다.</p>
374+
<p>2. 인덱스가 존재하는 경우, 데이터 삽입,수정,삭제시에도 인덱스가 함께 업데이트 된다. 다라서 인덱스 수가 많이잘수록 쓰기 성능이 감소 할 수 있다.</p>
375+
<p>3. 쿼리에 사용되지 않는 인덱스가 존재하면, 해당 인덱스는 시스템 리소스 공간을 불필요하게 차지하기 때문에 시스템 전체 성능에 부정적인 영향이 있을 수 있다.</p>
376+
<p>4. 인덱스를 관리하는것도 비용이 드는 작업이기 때문에 인덱스가 많아지면 관리하기 어려울 수 있다.</p>
377+
등의 문제가 있기 때문에 <br/>
378+
인덱스를 생성전에 충분한 분석 및 검토가 필요하여 시스템을 균형있게 유지해야 한다.
379+
372380
</details>
373381

374382
<details>
@@ -637,6 +645,23 @@ print("hello world!")
637645

638646
### Java
639647

648+
<details>
649+
<summary>JDK와 JRE의 차이점을 설명하세용.</summary>
650+
</br>
651+
JDK는 Java Development KIT의 약자로 개발하는데 사용되는 도구 JRE가 포함되어 있음 <br/>
652+
JRE는 Java Runtime Environment의 약자로 자바로 만들어진 프로그램을 실행시키는데 필요한 도구가 <br/>
653+
들어있는 차이가 있습니다.<br/>
654+
655+
운영서버와 같은 곳에서는 개발에 필요한 도구가 아닌 프로그램을 실행시키는 도구만 필요하기 때문에<br/>
656+
개발도구가 들어있는 JDK아닌 JRE를 설치합니다.<br/>
657+
658+
----여기는 굳이 말씀 안하셔도 될듯합니다.<br/>
659+
그러나 최근에 JDK가 많이 가벼워지고 하드웨어도 좋아지고 해서 운영서버에 설치하여도 큰 문제가 없고<br/>
660+
JDK에 로깅, 디버깅, 로그분석등 유용한 도구들도 있고 해서<br/>
661+
굳이 JRE설치하는것 보다 JDK를 설치 해서 개발및 실행환경을 통합적으로 관리하는 경우도 있다고 합니다.<br/>
662+
</details>
663+
664+
640665
<details>
641666
<summary>JVM의 구조와 Java의 실행방식을 설명해주세요.</summary>
642667
</br>
@@ -1027,6 +1052,27 @@ print("hello world!")
10271052

10281053
### nodeJS
10291054

1055+
<details>
1056+
<summary>참조복사(얕은복사) vs 값복사(깊은복사)</summary>
1057+
1058+
1) 얕은 복사(Shallow copy)는 참조 타입 데이터가 저장한 '메모리 주소 값'을 복사한 것을 의미한다. <br/>
1059+
1060+
```
1061+
/* 얕은 복사시 주의!!! */
1062+
let origin = ["a", "b"];
1063+
let copy = origin
1064+
1065+
copy.push("c");
1066+
1067+
console.log(origin); //["a", "b", "c" ]; // 원본까지 바뀌어버림
1068+
console.log(copy); //["a", "b", "c"];
1069+
```
1070+
따라서 원본까지 바뀌는것에 주의해야 한다. <br/>
1071+
1072+
2) 반대로 깊은 복사(Deep copy)는 새로운 메모리 공간을 확보해 완전히 복사하는 것을 의미한다.<br/>
1073+
1074+
</details>
1075+
10301076
<details>
10311077
<summary>nodeJS는 싱글 스레드인가 멀티 스레드인가?</summary>
10321078
<b>nodeJS는 비동기(Asynchronous)실행 기반의 특수한 멀티 스레드(Multi-thread)모델</b><br/>
@@ -1279,10 +1325,41 @@ DevOps는 어쩌면 신입에겐 물어보지 않을 수도 있습니다. 하지
12791325
<p>DevOps를 수행하면, 기존의 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있습니다. 이를 통해서 고객 친화적이고, 시장에 효과적으로 대응할 수 있는 유연성을 얻을 수 있습니다.</p>
12801326
</details>
12811327

1328+
12821329
### 커뮤니케이션
12831330

12841331
정답이 없는 질문입니다. 면접관마다 의도하는 답이 다 다를테니 자신만의 방법을 한 번 쯤 생각해보고 답변에 막힘이 없도록 준비합시다.
12851332

1333+
<details>
1334+
<summary>좋은 소스란, 좋은 코드, Clean Code란 어떤것인가요?</summary>
1335+
</br>
1336+
<p>저는 좋은코드, Clean Code에 대해서</p>
1337+
1) 본인이 아닌 다른 사람이 봐도 한눈에 읽을 수 있도록 가독성이 좋아야 하고<br/>
1338+
2) 변경이나 확장이 용이하여 유지보수를 쉽게 할 수 있어야 하고<br/>
1339+
3) 에러는 당연이 없어야하고 예외상황이 발생했을때 절 처리해야하고 <br/>
1340+
4) 모듈화하여 단위 테스트 할 수 있고, 재사용성이 좋은 코드 <br/>
1341+
입니다! 라고 대답했어요.
1342+
</details>
1343+
1344+
1345+
<details>
1346+
<summary>퇴사사유가 무엇인가요?</summary>
1347+
</br>
1348+
<p></p>
1349+
</details>
1350+
1351+
<details>
1352+
<summary>협업, 고객과의 갈등이 있을 경우, 이를 어떻게 해결 할것인가요?</summary>
1353+
</br>
1354+
<p></p>
1355+
</details>
1356+
1357+
<details>
1358+
<summary>코드리뷰중 갈등이 있을 경우, 이를 어떻게 해결할 것인가요?</summary>
1359+
</br>
1360+
<p></p>
1361+
</details>
1362+
12861363
<details>
12871364
<summary>어떤 기술이나 방법론이 좋아보일 때, 이를 어떻게 설득할 것인가요?</summary>
12881365
</br>
@@ -1301,6 +1378,15 @@ DevOps는 어쩌면 신입에겐 물어보지 않을 수도 있습니다. 하지
13011378
<p></p>
13021379
</details>
13031380

1381+
### 기타
1382+
<details>
1383+
<summary>코딩테스트의 해당 언어를 선택한 이유?</summary>
1384+
</br>
1385+
<p>Java(Spring), Javascript(Node), 파이썬등 여러가지 언어가 있었는데 왜 해당 언어로 코딩 테스트를 했는지</p>
1386+
<p>해당 언어가 익숙해서 인지, 코딩 테스트 풀기 편해서인지, 우리 회사가 사용하는 언어여서 인지</p>
1387+
을 물어보더라구요..회사에서 이 지원자의 기술 선호도, 프로그래밍 지식의 폭, 언어에 대한 이해, 업무 적합성 등을 알고 싶어서 물어본거 아닐까 합니다.
1388+
</details>
1389+
13041390
### 개인의 역량
13051391

13061392
<details>

0 commit comments

Comments
 (0)