About 1Hr

login

생각만 해도 어려운 기술면접, 😢

이제
원아우어

시작하세요!

코 앞에 닥친 면접이 걱정된다면?
면접 1시간 전에 보는 가이드,‘원아우어’를 이용해보세요.

banner

🔥 이런 문제들이 있어요!

스레드와 프로세스의 차이

#java

프로세스는 현재 실행되고 있는 프로그램을 프로세스라고 부르며, 이 프로세스 내에서 실행되고 있는 세부 작업 단위로 여러개의 스레드가 하나의 프로세스를 이루고 있다

Escaping Closure의 개념이 무엇인가요?

#ios

메서드 파라미터로 전달받은 closure 를 메서드의 라이프사이클 내에서 실행하여 끝내지 않고, 메서드 scope 의 외부에 전달하려 할 때는 해당 closure 를 escaping 해야한다. 해당 메서드의 호출이 끝난 이후에도 closure 는 메모리 어딘가에 저장되어야 하며, 이는 closure 안에서 사용된 outer object (self 와 같은) 에 weak 와 같은 레퍼런스타입을 사용해야할 수 있음을 주의하도록 한다 escaping 이 명시되어있지 않으면 기본적으로 non-escaping 이며, 이는 메서드의 실행이 끝나기 전에 closure 의 사용이 모두 완료됨을 보장하며, 따라서 closure 내에서 weak 을 굳이 사용하지 않아도 안전할 수 있음을 의미하기도 한다.

호이스팅에 대해서 설명해보세요

#hoisting

함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말한다 자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위의 최상단에 선언해요 즉 함수 내에서 아래쪽에 존재하는 내용 중 필요한 값들을 끌어올리는 것인데요. var 변수 선언과 함수선언문에서만 호이스팅이 일어나요 var 변수/함수의 선언만 위로 끌어 올려지며, 할당은 끌어 올려지지 않고 let/const 변수 선언과 함수표현식에서는 호이스팅이 발생하지 않아요

브라우저의 동작 원리를 간단하게 설명해주세요.

#rendering

브라우저의 기본적인 역할은 HTML, CSS 명세에 따라 HTML 파일을 해석해서 표시하는 것이다. 브라우저를 구성하는 요소는 사용자 인터페이스, 브라우저 엔진(크롬, 사파리는 Webkit, 파이어폭스는 Gecko), 렌더링 엔진, 통신, UI 백엔드, 자바스크립트 해석기, 자료 저장소 등이 있다. 렌더링 엔진은 먼저 HTML 문서를 파싱해서 DOM 트리를 구축한다. 그리고 CSS 마크업을 파싱해서 앞서 구축한 DOM 트리와 함께 렌더링 트리를 만든다. 렌더링 트리는 화면에 보여줄 것들만 가지고 있는 트리로, 구축이 되면 순차적으로 화면에 배치한다. 부모에서 자식 순서로 배치는 진행된다. 배치가 완료되면 그리기를 시작한다.

연속 테스트를 설명하십시오.

#자동화

애플리케이션을 최종 사용자에게 제공하는 위의 지속적 통합 목표에서 주로 지속적 제공을 가능하게합니다. 이는 충분한 단위 테스트와 자동화 테스트 없이는 완료 될 수 없습니다. 따라서 코드가 생성되고 필요에 따라 수행하는 모든 개발자와 통합되었는지 검증해야합니다.

SVM은 Logit과 어떻게 다릅니까?

#기술 분석

Logit은 각각의 데이터 포인트들을 기준으로 Decision boundary와의 거리 or 오차를 계산하고, SVM은 0/1 그룹으로 나뉜 데이터, “그룹”을 기준으로 Decision boundary와의 거리를 계산한다. SVM이 수학적으로 더 Elegant한 부분이 많지만, Outlier들에 굉장히 취약할 수 밖에 없는 구조, Non-linear boundary를 잡아내기 위해 Kernel 함수를 써야하는 구조도 결국엔 data points vs. data groups 라는 철학적인 차이에서 비롯되었다.

클로저는 무엇인가요? 원리와 왜 사용하는지 설명해 주세요

#javascript

클로저는 독립적인 (자유) 변수를 가리키는 함수이다. 또는, 클로저 안에 정의된 함수는 만들어진 환경을 ‘기억한다’.

어떤 맥락에서 MLE를 선호합니까?

#기술 분석

어차피 분포함수만 알고 있으면 MLE 쓰는게 제일 “짱”이지 않냐고 농담조로 답변했을 때 나온 추가 질문이다. 간단히 비교하자면 OLS는 평균 (Mean)을 찾는 작업이고, MLE는 최빈값(Mode)를 찾는 작업이라고 할 수 있다. 정규분포를 비롯해 평균 = 최빈값 조건을 만족하는 많은 분포함수들에서 OLS와 MLE가 (거의) 같다. (“거의”가 빠지려면 분산 쪽에 대한 추가적인 가정이 있어야함) 그럼 분포함수가 좌우대칭으로 생겼으면 MLE를 쓴다고 대답해야할까? 아니다. 좀 더 정확하게 이야기하면, 데이터의 분포를 모를 때는 Least Square 가 제일 단순하면서도 틀릴 확률이 낮은 방법이고, 분포를 알 때는 무조건 MLE를 쓰는게 맞다. Poisson 분포는 오른쪽 skewedness가 심할 때 평균 = 최빈값이 깨지는거 아니냐고? 계산하는 사람 입장에서 평균이 더 필요한가? 아니면 최빈값이 더 필요한가