@@ -369,6 +369,14 @@ print("hello world!")
369
369
<p >일반적인 경우의 장점으로는 빠른 검색 성능을 들 수 있습니다.</p >
370
370
<p >일반적인 경우의 단점으로는 인덱스를 구성하는 비용 즉, 추가, 수정, 삭제 연산시에 인덱스를 형성하기 위한 추가적인 연산이 수행됩니다.</p >
371
371
<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
+
372
380
</details >
373
381
374
382
<details >
@@ -637,6 +645,23 @@ print("hello world!")
637
645
638
646
### Java
639
647
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
+
640
665
<details >
641
666
<summary >JVM의 구조와 Java의 실행방식을 설명해주세요.</summary >
642
667
</br >
@@ -1027,6 +1052,27 @@ print("hello world!")
1027
1052
1028
1053
### nodeJS
1029
1054
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
+
1030
1076
<details >
1031
1077
<summary >nodeJS는 싱글 스레드인가 멀티 스레드인가?</summary >
1032
1078
<b >nodeJS는 비동기(Asynchronous)실행 기반의 특수한 멀티 스레드(Multi-thread)모델</b ><br />
@@ -1279,10 +1325,41 @@ DevOps는 어쩌면 신입에겐 물어보지 않을 수도 있습니다. 하지
1279
1325
<p >DevOps를 수행하면, 기존의 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있습니다. 이를 통해서 고객 친화적이고, 시장에 효과적으로 대응할 수 있는 유연성을 얻을 수 있습니다.</p >
1280
1326
</details >
1281
1327
1328
+
1282
1329
### 커뮤니케이션
1283
1330
1284
1331
정답이 없는 질문입니다. 면접관마다 의도하는 답이 다 다를테니 자신만의 방법을 한 번 쯤 생각해보고 답변에 막힘이 없도록 준비합시다.
1285
1332
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
+
1286
1363
<details >
1287
1364
<summary >어떤 기술이나 방법론이 좋아보일 때, 이를 어떻게 설득할 것인가요?</summary >
1288
1365
</br >
@@ -1301,6 +1378,15 @@ DevOps는 어쩌면 신입에겐 물어보지 않을 수도 있습니다. 하지
1301
1378
<p ></p >
1302
1379
</details >
1303
1380
1381
+ ### 기타
1382
+ <details >
1383
+ <summary >코딩테스트의 해당 언어를 선택한 이유?</summary >
1384
+ </br >
1385
+ <p >Java(Spring), Javascript(Node), 파이썬등 여러가지 언어가 있었는데 왜 해당 언어로 코딩 테스트를 했는지</p >
1386
+ <p >해당 언어가 익숙해서 인지, 코딩 테스트 풀기 편해서인지, 우리 회사가 사용하는 언어여서 인지</p >
1387
+ 을 물어보더라구요..회사에서 이 지원자의 기술 선호도, 프로그래밍 지식의 폭, 언어에 대한 이해, 업무 적합성 등을 알고 싶어서 물어본거 아닐까 합니다.
1388
+ </details >
1389
+
1304
1390
### 개인의 역량
1305
1391
1306
1392
<details >
0 commit comments