Giter Club home page Giter Club logo

tech-interview-for-developer's Issues

์ด๋ฏธ์ง€ ๋งํฌ ์˜ค๋ฅ˜

๋ณธ๋ฌธ์— ์ถ”๊ฐ€๋œ ์ด๋ฏธ์ง€์˜ ๋งํฌ๊ฐ€ ์—ด๋ฆฌ์ง€๊ฐ€ ์•Š์•„ ๋ณด์ด์ง€ ์•Š๋„ค์š”
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์›น์‚ฌ์ดํŠธ ํšŒ์› ๊ถŒํ•œ ๊ตฌ๋ถ„

๊ด€๋ฆฌ์ž(Admin)
ํŒ€์›
๋ฐฉ๋ฌธ์ž

Firebase ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ €์žฅ์‹œ์— ๊ตฌ๋ถ„์‹œํ‚ค๊ธฐ
(์ตœ์ดˆ ํšŒ์›๊ฐ€์ž… ํšŒ์›์€ ๋ฐฉ๋ฌธ์ž๋กœ ์ง€์ •)
๊ด€๋ฆฌ์ž๊ฐ€ ํŒ€์› - ๋ฐฉ๋ฌธ์ž ์œ ์ € ๊ตฌ๋ถ„ ๋ณ€๊ฒฝํ•˜๋„๋ก

Index ์„ค๋ช… ์˜ค๋ฅ˜ ์ œ๋ณด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Database/%5BDB%5D%20Index.md

RDB๋ฅผ ๋Œ€์ƒ์œผ๋กœ๋งŒ ์ธ๋ฑ์Šค๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ์š”~
์ธ๋ฑ์Šค๋Š” rdb, nosql ๊ด€๊ณ„ ์—†์ด ์„ค๋ช…๋˜์–ด์•ผ ํ˜ผ๋ž€์„ ์ค„์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”

image

Vuex

Vuex๋ฅผ ์•ˆ์จ๋ดค์œผ๋ฉด Vue.js๋ฅผ ํ•ด๋ดค๋‹ค๊ณ  ํ• ์ˆ˜ ์—†๋‹ค ๋ผ๋Š” ๋ง์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

Vuex๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š”?

ํ€ต ์ •๋ ฌ(Quick Sort) ๊ด€๋ จ

ํ€ต ์ •๋ ฌ์ด ์ตœ์•…์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—ญ์ˆœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์™„์ „ํžˆ ์ •๋ ฌ ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ํ•ด๋‹น๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ•  ํ–ˆ์„ ๋•Œ ํ•œ ์ชฝ์œผ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชฐ๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ n2์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์งˆ ๊ฒฝ์šฐ์ธ๋ฐ
์—ญ์ˆœ์ด๋ž‘ ์ •๋ ฌ ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋ชจ๋‘ ํ•ด๋‹นํ•  ๊ฒƒ ๊ฐ™๋„ค์š”!

react vs vue.js ์— ์ฐธ๊ณ ํ•  ๋งŒํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.

vue.js ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ๋น„๊ต๋ฅผ ์˜ฌ๋ฆฐ ๊ธ€์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜๋‹จ์˜ ์ฐธ๊ณ  ๋งํฌ์— ์ถ”๊ฐ€ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ์‚ญ์ œ Case.3

๋งํฌ

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Data%20Structure/Binary%20Search%20Tree.md#%EC%82%AD%EC%A0%9C%EC%9D%98-3%EA%B0%80%EC%A7%80-case

์ˆ˜์ •ํ•ด์•ผํ•  ๋‚ด์šฉ

์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ์‚ญ์ œ ์ผ€์ด์Šค ์ค‘ 3๋ฒˆ์งธ์— ๋ฐ‘๊ณผ ๊ฐ™์ด ์“ฐ์—ฌ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ž์‹์ด 2๊ฐœ์ธ ๋…ธ๋“œ์ผ ๋•Œ โ†’ ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’ or ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’ ์˜ฌ๋ฆฌ๊ธฐ

ํ•˜์ง€๋งŒ ๋ฐ‘๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ผ ๋•Œ, ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‚ญ์ œํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ํŠธ๋ฆฌ๊ฐ€ ๊นจ์งˆ ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

  1. 50์„ ์‚ญ์ œํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.
  2. ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์€ 70์ž…๋‹ˆ๋‹ค.
  3. ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์€ 45์ž…๋‹ˆ๋‹ค.
  4. ๋‘ ๋…ธ๋“œ ์ค‘ ์•„๋ฌด ๋…ธ๋“œ๋‚˜ ์˜ฌ๋ ค๋„ ํŠธ๋ฆฌ๊ฐ€ ๊นจ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
image

๊ทธ๋ž˜์„œ ๋ฐ‘๊ณผ ๊ฐ™์ด ๋ฐ”๊พธ๋Š”๊ฒŒ ์ข‹์•„๋ณด์—ฌ ์ด์Šˆ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.

  1. ์ž์‹์ด 2๊ฐœ์ธ ๋…ธ๋“œ์ผ ๋•Œ โ†’ ์ž์‹ ๋…ธ๋“œ๋“ค์˜ ์ž„์˜์˜ ๋ฆฌํ”„ ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•  ๋…ธ๋“œ์— ์œ„์น˜์— ์˜ฌ๋ ค ์ž์‹๋…ธ๋“œ๋“ค๊ณผ ๋น„๊ตํ•˜๋ฉฐ ์žฌ์ •๋ ฌํ•˜๊ธฐ

Typing mistake : Lauguage/[Javascript] Object Prototype.md

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Language/%5BJavasript%5D%20Object%20Prototype.md

Language/[Javasript] Object Prototype.md
์œ„์˜ ๊ฒฝ๋กœ์˜ mdํŒŒ์ผ์—์„œ ์˜คํƒ€๋ฅผ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์˜คํƒ€1. A prototype-based language? - ์—์„œ prototyp object๋Š” method์™€ property๋ฅผ ์ƒ์†ํ•˜๋Š” template object๊ฐ™์€ ๊ฒƒ์ด๋‹ค. ์˜ ๋งจ์•ž์— prototyp ์ด ์•„๋‹Œ prototype์œผ๋กœ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜คํƒ€2. Understanding prototype objects - ์—์„œ ์šฐ๋ฆฌ๋Š” object instace๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์—์„œ instace๊ฐ€ ์•„๋‹Œ instance๋กœ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์–ด ๋ณด์ž…๋‹ˆ๋‹ค.

์ž์ฃผ ์‹ค์ˆ˜ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์Šˆ

1. ์ด๋ถ„ ํƒ์ƒ‰

min = -1, max = N
์ค‘๊ฐ„ ๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 0๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๊นŒ์ง€ ๋‹ค ํ™•์ธํ•ด์•ผ ํ•จ
int max = N;
int min = -1;
int mid;
boolean check = false;

while(max - min > 1) {
	
	mid = (max+min)/2;
	
	if(num == number[mid]){
		check = true;
		break;
	}
	if(num > number[mid]){
		min = mid;
	}
	else {
		max = mid;
	}
}

JS์˜ค๋ฅ˜์— ๋Œ€ํ•˜์—ฌ

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Language/%5BJavascript%5D%20ES2015%2B%20%EC%9A%94%EC%95%BD%20%EC%A0%95%EB%A6%AC.md
ํ•˜์ง€๋งŒ ์ด์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ ์ค„๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค. ์—ฌ๋Ÿฌ ๋‹จ๊ณ„ ์•ˆ์˜ ์†์„ฑ๋„ count1์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
์˜ ๋ฌธ์žฅ์˜ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์ด์ƒํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ฒซ์งธ๋กœ,

const candyMachine1 = {
    status: {
        name: 'node',
        count1: 5,
    },
    getCandy1() {
        this.status.count--;
        return this.status.count;
    }
};
 
const { getCandy1, status: { count1 } } = candyMachine1;

์—์„œ candyMachine1.count1 ๊ณผ getCandy1() ์˜ key ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‘˜์งธ๋กœ,
์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋น„๊ตฌ์กฐํ™” ํ• ๋‹น์„ ํ•œ ๊ฒฝ์šฐ this๋ฐ”์ธ๋”ฉ์ด ์•ˆ ๋˜์–ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (getCandy1์ด)
this๋Š” ๋ ‰์‹œ์ปฌ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (๋™์  ๋ฐ”์ธ๋”ฉ์ด ๋˜์–ด์„œ, ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๊ทธ๋Œ€๋กœ getCandy1() ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ ๊ธฐ์ค€์œผ๋กœ getCandy1() ์—์„œ๋Š” this.status.count๋ฅผ window์—์„œ ์ฐพ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

README ์—์„œ [C++] ๊ฐ€์ƒ ํ•จ์ˆ˜(Virtual Function) ๋ถ€๋ถ„ ์ฃผ์†Œ๊ฐ€ ์ž˜๋ชป๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋งˆ cpp -> c++ ๋ฐ”๊พธ๋ฉด์„œ ๊ฒฝ๋กœ๊ฐ€ ๋‹ฌ๋ผ์ง„ ๊ฑฐ ๊ฐ™์€๋ฐ

์˜คํƒˆ์ž ์ œ๋ณด๋“œ๋ ค์š”

[ETC] Git vs GitHub vs GitLab Flow Add ์—์„œ
20201209_224901
3. GitLab Flow ์„ค๋ช…์ค‘ ๋ณด์•ˆ > ๋ณด์™„์ด ์˜๋ฏธ์ƒ ๋งž๋Š”๊ฒƒ ๊ฐ™์•„์„œ ์ œ๋ณด๋“œ๋ฆฝ๋‹ˆ๋‹ค

Vue.js์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—์„œ Vuetify์˜ dialog๋ฅผ ์ด์šฉํ•ด ํŒ์—…์ฐฝ์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค.

v-dialog์•ˆ์—์„œ login ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ƒํ™ฉ์—์„œ dialog๋ฅผ false๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํŒ์—…์ด ๋‹ซํžˆ๋Š”๋ฐ, ์ด๋Š” ์•ˆ์— ์„ ์–ธํ•œ ๋กœ๊ทธ์ธ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ ์šฉ์„ ํ•ด์•ผํ•œ๋‹ค.
๊ฒฐ๊ตญ dialog ๊ฐ’์„ ๋กœ๊ทธ์ธ์ด ์™„๋ฃŒ๋˜์—ˆ์„๋•Œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์ธ v-dialog์ชฝ์œผ๋กœ ์•Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค.

โ— Data Structrue ์˜คํƒ€

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด์—
โ— Data Structrue -> โ— Data Structure
ํ‹€๋ฆฐ๊ทธ๋ฆผ์ฐพ๊ธฐ ์˜คํƒ€ ์กด์žฌํ•ด์„œ ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค :)

[์ œ์•ˆ] github page ํ˜ธ์ŠคํŒ…

์•ˆ๋…•ํ•˜์„ธ์š”! ์ข‹์€ ์ •๋ฆฌ ๋ ˆํฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์ž์„ธํžˆ ์‚ดํŽด๋ณธ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋ ˆํฌ์˜ ๊ฒŒ์‹œ๊ธ€๋“ค์ด ๋งˆํฌ๋‹ค์šด์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๋“ฏ ํ•œ๋ฐ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ๋“ค์„ github page๋กœ ํ˜ธ์ŠคํŒ…ํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค!
๋ ˆํฌ ์„ค์ •์„ ํ†ตํ•ด์„œ ์„ค์ •ํ•˜๋ฉด ๋”ฐ๋กœ ํ˜„์žฌ ๋ ˆํฌ์˜ ์ž๋ฃŒ๋“ค์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ํ˜ธ์ŠคํŒ…์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์›น ํŽ˜์ด์ง€๋กœ ํ˜ธ์ŠคํŒ…๋˜๋ฉด ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ ‘ํ•  ์ˆ˜ ์žˆ์„ ๋“ฏ ํ•ด์„œ ์ œ์•ˆ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŒ… ๋ฐฉ๋ฒ•์€ https://pages.github.com/ ์—์„œ project site ์„ ํƒํ•ด์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Java Vector vs List ํŒŒํŠธ์— ์˜๊ฒฌ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์šฐ์„  ์ข‹์€ ๋‚ด์šฉ์˜ ๋งŽ์€ ์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ•ด ์ฃผ์‹  ์ ์— ๋Œ€ํ•ด ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์˜คํƒˆ์ž์™€ ๋‚ด์šฉ๊ด€๋ จ ์ด์Šˆ ๋‚จ๊น๋‹ˆ๋‹ค. ์•„๋ž˜ ๋งํฌ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
(https://github.com/gyoogle/tech-interview-for-developer/blob/master/Interview/Interview%20List.md#%EC%96%B8%EC%96%B4)

์‚ฝ์ž… ์‚ญ์ œ ๋ถ€๋ถ„์— Vectro -> Vector ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋™๊ธฐํ™” ๋ถ€๋ถ„์—์„œ Vector์™€ ๋ฆฌ์ŠคํŠธ์˜ ์„ค๋ช…์ด ๋ฐ”๋€ ๊ฒƒ ๊ฐ™๋„ค์š”.
์‹ค์ œ๋กœ ArrayList ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์—ด์–ด๋ณด์‹œ๋ฉด ์•„์‹œ๊ฒ ์ง€๋งŒ 38 ~ 39๋ฒˆ์งธ ์ค„ ์ฏค์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
'This class is roughly equivalent to {@code Vector}, except that it is unsynchronized.'
์ฆ‰, '๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ๋Š” ๋น„๋™๊ธฐ๋ผ๋Š” ์  ์™ธ์—๋Š” ๋ฒกํ„ฐ์™€ ๊ฐ™๋‹ค'๋ผ๊ณ  ์“ฐ์—ฌ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ๋ฒกํ„ฐ ํด๋ž˜์Šค์—์„œ๋Š” ๋™๊ธฐํ™” ๊ตฌํ˜„์ด ์‹ค์ œ๋กœ ๋˜์–ด์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ๋ฆฌ์ŠคํŠธ ์ชฝ์—์„  ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์•„๋ž˜๋Š” ๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ์™€ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋ชจ๋‘์— ๋ช…์‹œ๋˜์–ด์žˆ๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.
'Note that this implementation is not synchronized.'

๋˜ํ•œ ๋ฐ˜๋ณต์ž์˜ ๋ ˆ๋ฒจ(?) ํ•ญ๋ชฉ์—์„œ ํ•ญ๋ชฉ์˜ ์˜๋ฏธ๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜ ๋ฐ˜๋“œ์‹œ ์ˆœํšŒ ํ•ด์•ผํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์ธ ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด ๋ณต์‚ฌ๊ฐ€ ๋ฐœ์ƒํ•ด ์‚ฝ์ž… ์‚ญ์ œ ์—ฐ์‚ฐ์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ณ  ์ฐธ์กฐ๋Š” ๋ฐฐ์—ด๊ณผ ๊ฐ™์ด O(1)์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ์™€ ๋ฒกํ„ฐ ๋ชจ๋‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด์šฉ์„ ๋ณด๋ฉด ๊ฐ์ฒดํƒ€์ž… ๋ฐฐ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค๋Š” ์ ๊ณผ ์œ„์— ๋ง์”€๋“œ๋ฆฐ ์„ค๋ช…์ด ๊ทธ ๊ทผ๊ฑฐ๋กœ ๋ง์”€๋“œ๋ฆด ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋ฆฌ์ŠคํŠธ๋กœ ๋ฌถ์–ด์„œ ์ด์•ผ๊ธฐํ•˜๊ธฐ์—” ์กฐ๊ธˆ ํ˜ผ๋™์ด ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ๊ฒฝ์šฐ ํ•œ ๋…ธ๋“œ๊ฐ€ ์ž์‹ ์˜ ์•ž๋’ค ๋…ธ๋“œ์˜ ์œ„์น˜๋งŒ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— index ๊ธฐ์ค€์œผ๋กœ get์„ ํ•˜๋Š” ๋ฐฉ์‹์„ ์ž๋ฐ”์—์„œ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ๊ธดํ•˜๋‚˜ ๋ง์”€ํ•˜์‹  ๋‚ด์šฉ๊ณผ ๊ฐ™์ด ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ชจ๋‘ ์ˆœํšŒํ•ด๋ณด์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— O(N)์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ๋Š”๋ฐ, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋‚ด์šฉ์„ ๊ทธ๋ƒฅ ๋ฆฌ์ŠคํŠธ๋กœ ๊ธฐ๋กํ•ด๋‘์‹  ๊ฒƒ ๊ฐ™์•„ ๋ณด์ž…๋‹ˆ๋‹ค..
ํ˜น์‹œ ์ œ๊ฐ€ ์ž˜๋ชป ์ƒ๊ฐํ•œ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์ง€์  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :)

[SQL๊ณผ NOSQL์˜ ์ฐจ์ด] NoSQL ์Šคํ‚ค๋งˆ ๊ด€๋ จ

NoSQL์—์„œ ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๋‹ค๊ณ  ํ•˜์…จ๋Š”๋ฐ ์ตœ๊ทผ MongDB ์ปจํผ๋Ÿฐ์Šค์—์„œ "NoSQL์—์„œ ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๋‹ค๋Š” ๋ง์€ ์ž˜๋ชป๋œ ๋ง์ด๋‹ค! ์Šคํ‚ค๋งˆ๋ฅผ RDBMS์— ๋น„ํ•ด ๋œ ์‹ ๊ฒฝ์จ๋„ ๋  ๋ฟ ์ค‘์š”ํ•˜๋‹ค" ๋ผ๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๊ด€ํ•œ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

vuex๋กœ action ์ƒํƒœ ์—ฌ๋ถ€ ๊ด€๋ฆฌ

vuex์˜ action.js์—์„œ ๋กœ์ปฌ ๋กœ๊ทธ์ธ ๊ด€๋ฆฌ(signUserIn)

๋กœ๊ทธ์ธ ์„ฑ๊ณต ์‹œ, vuex์˜ store์— ์„ ์–ธํ•œ loginSuccess์„ true๋กœ commit (loginSuccess๊ธฐ๋ณธ๊ฐ’ false)

Loginํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์—์„œ this.$store.dispatch("signUserIn")์œผ๋กœ
๋กœ๊ทธ์ธ ์‹คํ–‰

๋กœ๊ทธ์ธ์ด ๋๋‚˜๋ฉด .then ์ดํ›„์— loginSuccess์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ฃผ๊ณ ์‹ถ์Œ

๋กœ๊ทธ์ธ ์„ฑ๊ณต (loginSuccess:true) : ๋กœ๊ทธ์ธ ํŒ์—…์ฐฝ์„ ๋‹ซ์Œ
๋กœ๊ทธ์ธ ์‹คํŒจ (loginSuccess:false) : ํŒ์—…์ฐฝ ์œ ์ง€, ์ฐฝ ๋‚ด์šฉ๋งŒ reset

์ด๋ถ„ ํƒ์ƒ‰ ์ฝ”๋“œ

์•ˆ๋…•ํ•˜์„ธ์š”, ์ž๋ฃŒ๊ฐ€ ์ •๋ง ์ž˜ ์ •๋ฆฌ๋ผ์žˆ์–ด์„œ ๊ณต๋ถ€์— ์ž˜ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ํ•˜๋‚˜ ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์–ด ์งˆ๋ฌธ ๋‚จ๊น๋‹ˆ๋‹ค.

์ด๋ถ„ ํƒ์ƒ‰ ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค๊ฐ€ sum์€ ์™œ ์“ฐ์˜€์„๊นŒ, end ๋ณ€์ˆ˜๋Š” ์™œ arr.length-1๊ฐ€ ์•„๋‹Œ arr[arr.length-1]๋กœ ์“ฐ์˜€์„๊นŒ ๊ฐ™์€ ์˜๋ฌธ์ด ๋“ค์—ˆ๊ณ , ์ฝ”๋“œ๊ฐ€ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ ๋ผ์„œ ์˜ˆ์‹œ๋กœ ์˜ฌ๋ ค์ฃผ์‹  ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‹คํ–‰ํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ๊ฒฐ๊ณผ๋Š” 0์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค.

int[] arr = {1,2,3,4,5,6};
int result = solution(arr, 5);
System.out.println(result);

repl ์ฃผ์†Œ: https://replit.com/@woochul2/tech-interview-for-developer-binary-search#Main.java

๊ฒฐ๊ณผ๋กœ ์›์†Œ 5์˜ ์ธ๋ฑ์Šค์ธ 4๊ฐ€ ๊ฒฐ๊ณผ๋กœ ๋‚˜์™€์•ผํ•  ๊ฒƒ ๊ฐ™์€๋ฐ, ํ˜น์‹œ ์˜ˆ์‹œ ์ฝ”๋“œ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฑธ๊นŒ์š”?

์ œ๊ฐ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ดˆ๋ณด์ด๊ธฐ๋„ ํ•˜๊ณ , ์ž๋ฐ”๋ฅผ ์ž˜ ๋ชฐ๋ผ์„œ ์ž˜๋ชป๋œ ์˜ˆ์‹œ๋กœ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ˜ผ์ž์„œ๋Š” ์˜๋ฌธ์ด ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•„ ์งˆ๋ฌธ ๋‚จ๊น๋‹ˆ๋‹ค.

์˜คํƒˆ์ž ์ œ๋ณด์ž…๋‹ˆ๋‹ค.

GimunLee/tech-refrigerator#13

Garbage collection.md ํŒŒ์ผ์˜ ์˜คํƒˆ์ž๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. README.md ์—์„œ ๋งํฌ๋ฅผ ํƒ€๊ณ  ๊ฐ”๋”๋‹ˆ ์›๋ณธ์€ ๋‹ค๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์žˆ์–ด์„œ ์ผ๋‹จ ๊ทธ๊ณณ์— PR์„ ๋ณด๋‚ด๊ณ  ์ด๊ณณ์—๋„ ์ด์Šˆ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค.

*7/23 ์ถ”๊ฐ€
PR์„ ์ด์ƒํ•˜๊ฒŒ ๋ณด๋ƒˆ์—ˆ๋„ค์š”.. ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊น€ํƒœํ™ ๋“œ๋ฆผ

์›ํ˜• ํ ๊ตฌํ˜„ ๊ด€๋ จ

์•ˆ๋…•ํ•˜์„ธ์š”! ๊น”๋”ํ•œ ์ •๋ฆฌ ๋•๋ถ„์— ์ž˜ ์ฐธ๊ณ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

data structure/stack&queue ์›ํ˜• ํ ๊ตฌํ˜„ ๋ถ€๋ถ„์—์„œ

public Object deQueue(Object o) {
    
    if(isEmpty()) { 
        return null;
    }
    
    front = (++front) % size;
    Object o = queue[front];
    return o;
}

preIndex ๋ณ€์ˆ˜๋ฅผ ๋”ฐ๋กœ ๋‘์ง€ ์•Š๊ณ , ์œ„์™€ ๊ฐ™์ด front๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋„๋ก ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜์ง€ ์•Š์„๊นŒ์š”?
๊ณต๋ฐฑ, ํฌํ™” ์ƒํƒœ ๊ตฌ๋ถ„์„ ์œ„ํ•ด front๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์€ ๋นˆ ๊ฐ’์ด์–ด์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
ํ™•์ธ ๋ถ€ํƒ ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

Java Stream ๋ฌธ์„œ ๋งˆํฌ๋‹ค์šด ์˜ค๋ฅ˜

Java Stream ์„ค๋ช… ๋ฌธ์„œ์—์„œ์˜ค๊ตต์€ ๊ธ€์”จ ํšจ๊ณผ๋ฅผ ๋„ฃ๋Š” ๊ณณ์— ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ์ธํ•ด ์ ์šฉ์ด ๋˜์ง€ ์•Š์•„ ์ˆ˜์ •ํ•ด์•ผ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค !

  1. image
  2. image

๋งํฌ

https://gyoogle.dev/blog/computer-language/Java/Stream.html

์ด๋ฏธ์ง€ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ˆ„๋ฝ

Computer Science/Network/OSI 7 ๊ณ„์ธต.md ์—์„œ 7๊ณ„์ธต ์ด๋ฏธ์ง€์˜ CDN ๋งํฌ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด 404๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.
ํ•ด๋‹น ๋งํฌ๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ ๊ฐ™์€๋ฐ ๋งž๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•˜๋‹ค๋ฉด ํ’€๋ฆฌํ€˜ ๋‚จ๊ธฐ๊ฒ ์Šต๋‹ˆ๋‹ค!

์–‘์งˆ์˜ ์ •๋ณด๊ธ€ ์ž˜ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! โ˜บ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.