2016-04-08 데이터 사이언티스트 면접 질문 리스트

 
데이터 사이언티스트 면접 질문 리스트
데이터 사이언티스트 - 지원서 겸 체크리스트
이 문서는 넘버웍스가 작년(2015년 12월)에 채용할 때 입사 지원자분들에게 드렸던 메일입니다. 보통의 채용은 그 과정에서 합격한 분과 회사를 제외하고는 많은 사람들이 지게 되는 WIN-LOSE형태가 되곤 합니다. 넘버웍스는 어떻게 하면 이 시간이 합격하지 못한 모든 지원자분들에게 까지 의미있을 수 있을지 고민했습니다.
채용을 하면서 알게 된 것은 많은 분들이 '데이터 분야로 나가서 일을 하고 싶은데 어떻게 준비해 나가야 하는지 모르겠다.' 라는 답답함을 가지고 있다는 사실이었습니다. 그래서 저희는 이 체크리스트를 작성하기로 하였습니다. 설사 합격이 되지 않더라도, 내가 이 분야로 나가게 된다면 어떤 일을 하겠구나, 또 어떤 것들을 공부해 나가야 겠구나를 알려드리고 싶었습니다. 지원 과정 자체가, 이 일을 이해하게 되는 의미 있는 시간으로 만들어드리고 싶었습니다.
당시의 절차는 시간이 지나 종료되었으나, 데이터쪽에 뜻을 두고 공부하시는 분들이 보면 좋을만한 글이라, 지금 다시 공유합니다. (이번 모집 공고는 https://www.facebook.com/yonghosee/posts/1017311828307950 에 있습니다.)
이번 지원자 분들은 이 문제를 푸실 필요는 없습니다. 다만 중간 중간에 있는 몇몇 문제들은 여전히 보시면 재미는 있으실 것 같습니다. 회사에 와서 일을 하기 위해서는 결국 마주해야 하는 것들이니까요. (면접에 나올지도? 이게 더 무섭나?) 그럼 재미있게 읽어주세요. 아래부터는 예전 메일 내용입니다.
-----
서문
안녕하세요 넘버웍스의 하용호입니다. 이 서문은, 이번에 넘버웍스에 지원하신 분들에게 당락의 결과와 상관없이 도움이 되고 싶어서 쓰는 글입니다. 여기에는 지난 몇 년간 데이터 사이언티스트로 일해온 저의 감상과 지금까지의 판단이 들어있습니다.
생각해보면 기존에는 없던 일입니다. 데이터 사이언티스트. 저도 처음에는 데이터를 만능으로 다루며 세상의 숨겨진 사실을 찾아내는 멋진 사람을 꿈꾸며 이 쪽의 길로 접어들었습니다. 당시에 제가 쌓아왔던 수학적 지식과 프로그래밍 능력 그리고 오랫동안 해왔던 머신러닝쪽의 연구를 가장 잘 활용할 수 있는 직업같았기 때문입니다.
하지만 몇년의 일을 해보면서 새롭게 알게 된 것이 많습니다. 그중에는 이 일의 본질에 대해 다시 생각하게 하는 깨달음 들도 많았습니다. 처음에는 좋은 지식과 스킬을 가지고 있으면 훌륭한 데이터 과학자가 될 수 있으리라 생각했습니다. 하지만 현실과 계속 만나면서, 그것 이외에 가져야 하는 많은 것들이 있음을 알 수 있었습니다. 그리고 이것을 이제 막 일을 시작하거나 진입하고 있는 사람들에게 먼저 알려준다면 그들이 일을 접하고 배워나갈 때 좀 더 도움이 되지 않을까 하는 생각이 들었습니다. 그래서 이렇게 글을 씁니다.
제가 실제로 겪어본 데이터 사이언티스트라는 직업의 본질은 problem solver였습니다. 그냥 보면 ‘문제를 푸는자’  Problem과 Solver 각각 단어가 많은 의미를 내포합니다.
Problem
먼저 Problem입니다. 기존과 달리 데이터 과학자는 ‘현실'과 맞닿아있는 문제를 풀어야 합니다. 제가 프로그래머일때는 문제를 찾는 것은 쉬웠습니다. 그리고 대부분 ‘이걸 어떻게 더 빠르게, 이걸 어떻게 하면 가능하게’등으로 분류되었었죠. 문제는 쉽게 주어지고, 해결책을 고민하기만 하면 되었습니다. (물론 푸는 것은 어려웠습니다) 그런데 데이터 과학자가 되고 나서는 해당 부분이 바뀌었습니다.
문제(Problem)자체에 대한 고민을 아주 많이 하게 됩니다. 우리는 문제가 있는가? 어디에 문제가 있는가? 내가 생각하는 것은 정말 문제인가? 등등이죠. 어려운 점은 이것은 우리들 끼리 모이는 것 만으로는 알 수 없다는 것입니다. 문제들은 대부분 ‘현실'과 맞닿아 있는 현업부서들로부터 나오며, 이것은 끊임없이 현업부서들을 만나고, 이야기하고, 고민을 듣고, 되묻고, 자료를 받아보고, 다음 실적을 기다리는 과정에서 발견되게 됩니다.
즉 데이터 사이언티스트에게 가장 중요한 자질 중에 하나는 ‘풀 가치가 있고 풀 수 있는 현실 세상의 문제를 찾아내는 것'입니다. 여기에서 컨설턴트 적인 역량이 생각보다 굉장히 많이 사용되게 됩니다. 논리적 사고와 그것을 상대에게 제대로 전달하고 다시 질문하는 방법, 얻어낸 이야기를 빠르게 숫자와 데이터로 검증하고 다시 되묻는 속도, 그렇게 만들어진 생각으로 설득을 이끌어 내는 법등도 포함됩니다.
때문에 데이터과학자를 지향하고 계신 여러분이라면, 앞으로 이러한 일이 자신의 업무 범위에 포함되어 있음을 미리 아시고, 일상에서 비슷한 상황에 놓였을 때, 수련의 일부라 생각하고 의도적으로 자신을 확인하고 단련시켜나가기를 바랍니다. 의외로 이러한 부분은 자신이 문과이든 이과이든 상관없이 의도적으로 훈련해야 가지게 되는 능력입니다.
Solver
위의 문제 찾는 자의 이야기를 드리면 우리가 흔히 떠올리는 직업이 있습니다. 네 맞습니다. 컨설턴트. 어쩌면 위와 같은 면모때문에 이쪽 분야에 매력을 느끼시는 분들도 있을 것 같습니다. 그렇지만 지금 말씀드릴 Solver의 면모가 더 중요하며, 또 오랜 시간동안 수련을 쌓아야 해낼 수 있는 부분입니다.
컨설턴트와 데이터과학자의 가장 다른 점은 문제의 해결책을 직접 풀고 구현한다는 것입니다. (극단적으로 표현하자면 '코딩을 할 수 있는가?'입니다.) 컨설팅에서는 고객에게 ‘이렇게 하면 됩니다’라는 길을 찾아내는 데 방점이 있다면, 데이터과학자는 ‘직접 데이터와 현업 시스템을 엮어서 실험 해보겠습니다’라고 말합니다. 그리고 현실을 개선하기 위해 이론과 현실사이의 수없이 많은 간극을 직접 메워야 합니다. 다시한번 강조하지만 ‘직접’입니다. ‘나는 R에서 차트만 그려서 뭔가 하고 싶어’ 라고 한다면 말씀드릴 수 있어요. ‘데이터는 그런식으로 동작하지 않습니다.’
직접 풀어내기 위해서는 두가지 면모가 필요합니다. 각 부서에 흩어진 데이터를 그 IT시스템에 붙어 직접 확보하고, 양이 많다면 이것을 빠르게 처리해낼 수 있는 프로그래머로서의 역량과, 그 데이터에서 최대한 패턴을 찾아내기 위한 (머신러닝을 포함한) 통계적 역량입니다. 이 두 가지를 반복하며, 데이터를 수급하고, 분석하고, 더 필요한 항목들을 찾아 실험하고, 또 얻어냅니다. 이것을 직접 할 수 있어야 일의 속도가 빨라집니다. 사실 데이터사이언티스트의 가치는 기존의 여러부서가 서로 주고 받으며 오랫동안 하던 일을, 한사람 머리안에서 의사소통의 지연없이 초고속으로 해내는데 있다고 볼 수도 있습니다. 이 일은 필연적으로 발견의 실패가 발생하기에, 잦은 시도가 필요하고, 잦은 시도를 짧은 시간 안에 해낼 수 있게 하기 위해서 이런 능력이 한사람, 또는 한 조직 안에 있는 것이 필요해집니다.
프로그래밍 능력과 통계학, 머신러닝에 대한 지식은 숙련되는데 정말 긴 시간이 걸립니다. 때문에 오랜 시간동안 수련할 생각을 하셔야 합니다. 반대로 지금 당장 잘 모른다고 놓지 말고, 장기적인 계획을 세우고 차근차근 진행해 나가시길 바랍니다.
팀플레이로서의 데이터 과학
사실 위의 것은 이상적인 데이터 과학자의 이야기 입니다. 실제 세상에서 모든 면모를 완벽히 갖춘 사람이 되기는 쉽지 않죠. 그래서 실제의 데이터사이언스는 ‘팀'으로 동작합니다. 어떤 이는 교류에 강하고, 어떤 이는 수학에 강하고, 어떤 이는 개발에 강하죠. 하지만 데이터 팀안에서는 서로 빠르게 협업할 수 있어야 하기 때문에 다른 한 분야에 문외한이 되면 안됩니다. 적어도 의사소통에 문제가 없을 정도의 최소의 지식은 쌓아두어야 합니다. 이쪽 분야에서 사용되는 지식의 범위는 다양한데, 몇 가지 나열해보자면 통계학, 머신러닝, 시스템 엔지니어링, 분산처리, 개인정보 보호법 등등 다채롭습니다. 이걸 모두 다 아는 것은 불가능 할지라도, 나는 팀에서 어떤 롤을 지향해 나갈 것이다를 머릿속에 넣고 과정을 밟아나가는 것이 필요합니다.
내가 어떤 과정을 향하고 싶은지 결정하는데는 실제 현업에서 다루는 문제들을 미리 아는 것이 꽤나 유용합니다. 내가 앞으로 팀에서 어떤 역할을 맡게 될지, 그리고 다른 파트의 사람들은 어떤 고민들을 하고 있을지, 그런것 들을 미리 그려보는데 도움이 되었으면 해서 아래를 준비했습니다.
셀프 체크리스트로서 이 문서
이 문서의 아랫부분은 지난 몇년간 저희가 현업에서 일하며 실제로 했었던 고민들과 질문들을 상당 부분 담고 있습니다. 거의 대부분은 실제로 저희가 겪어보았던 문제들입니다. 반대로 어떤 질문들은 현업을 겪어보지 않았다면 왜 필요한지 감흥을 느끼기 어려울 수도 있습니다. (하지만 언젠가 시간이 지나면 느끼게 될 것이라 믿습니다)
가능하면 초급, 중급에 초점을 맞추어 작성 하려고 하였습니다만, 좀 오버스러운 질문도 몇 개 섞여 있긴 합니다. (그런걸 만나면 자신의 지식을 뽐내세요) 일단 생각나는대로 열심히 써내려본 항목들이고, 대부분의 지식이 그렇듯, 가만히 앉은 자리에서 떠올리는 것이 쉽지 않았습니다. 때문에 저도 이 문서를 시간이 갈수록 업데이트할 예정입니다. 굳이 구글 독스로 작성한 것이 그러한 이유입니다. 여러분들이 현업의 고민을 엿보고, 앞으로를 준비하는데 도움이 되셨으면 좋겠습니다.
현재 개별 문제의 난이도는 #의 갯수로 표시했습니다. 삽질이 쌓일수록 숙련자가 되듯, #이 많을 수록 조금 어려운 문제입니다.
이번 지원자들이 해주셨으면 하는 것
아래에 있는 질문들 중에 대답하고 싶은 것을 골라서 20개 이상 대답을 작성해주세요. 기간은 앞으로 일주일. 12월 5일(토) 밤 12시까지 입니다. (살짝 오버해도 됩니다) 회신은 hello@numberworks.io 로 해주세요. 파일을 첨부해서 보내실때는 파일명을 자기 이름으로 해주시면 저희가 작업하는데 좀 더 편합니다. (안해주셔도 괜찮습니다)
대답작성에서 중요한 원칙은 아래와 같습니다.
인터넷에서 찾아볼 수 있습니다. 당연히 모든지식을 이미 다 알고있기 어려울 수 있습니다. 단, 자신의 언어로 풀어서 말해주세요. 친구나 동료에게 설명한다고 생각하시면 편하겠네요. 갯수가 중요한 게 아니라 어떻게 설명하는 사람인지가 궁금합니다.
20개 이상 몇 개이든, 어느 분야이든 상관없습니다. 20개만 넘는다면 너무 많이 안 푸셔도 됩니다. 한 분야만 골라서 파셔도 됩니다. 어떤 편중이 있다면 그것이 자신의 성향이겠죠. 스스로의 강점을 파악하는 기회가 될지도 모릅니다.
문제는 기간중에도 이따금씩 추가될 수 있습니다. 문서 최상단의 마지막 수정일자를 가끔씩 확인해주세요. 풀기쉬운 문제가 새로 생겼을 수도!
꼭 글만이 아니라 그림을 첨부하거나 하셔도 됩니다 (필수가 아닙니다) 대답의 틀에 구애받지 않으셔도 됩니다. 자유로운 포맷과 파일로 주세요. 다만 HWP만 피해주세요 (없어요)
회신시 이전에 이력서를 보낸 적이 없는 분은 1~2장 정도로 간략히 이력서를 작성해 동봉주세요. 자기 소개서 부분은 쓰지 않아도 됩니다. 보내주신 분은 다시 보내주시지 않아도 됩니다.
아래에서 말하는 고객은 외부 클라이언트가 될 수도 있고, 사내 다른 부서일 수도 있고, 넌 무슨 일을 하니 묻는 아빠,엄마일 수도 있습니다. 통칭해서 ‘고객'이라고 하겠습니다.
통계
# p-value를 고객에게는 뭐라고 설명하는게 이해하기 편할까요?
## p-value는 요즘 시대에도 여전히 유효할까요? 언제 p-value가 실제를 호도하는 경향이 있을까요?
## A/B Test 등 현상 분석 및 실험 설계 상 통계적으로 유의미함의 여부를 결정하기 위한 방법에는 어떤 것이 있을까요?
# R square의 의미는 무엇인가요? 고객에게는 어떻게 설명하실 예정인가요?
# 평균(mean)과 중앙값(median)중에 어떤 케이스에서 뭐를 써야할까요?
# 중심극한정리는 왜 유용한걸까요?
# 엔트로피(entropy)에 대해 설명해주세요. 가능하면 Information Gain도요.
### 하지만 또 요즘같은 빅데이터(?)시대에는 정규성 테스트가 의미 없다는 주장이 있습니다. 맞을까요?
## 어떨 때 모수적 방법론을 쓸 수 있고, 어떨 때 비모수적 방법론을 쓸 수 있나요?
# “likelihood”와 “probability”의 차이는 무엇일까요?
# 통계에서 사용되는 bootstrap의 의미는 무엇인가요.
## 모수가 매우 적은 (수십개 이하) 케이스의 경우 어떤 방식으로 예측 모델을 수립할 수 있을까요.
## 베이지안과 프리퀀티스트간의 입장차이를 설명해주실 수 있나요?
머신러닝
# Local Minima와 Global Minima에 대해 설명해주세요.
# 차원의 저주에 대해 설명해주세요
# dimension reduction기법으로 보통 어떤 것들이 있나요?
## PCA는 차원 축소 기법이면서, 데이터 압축 기법이기도 하고, 노이즈 제거기법이기도 합니다. 왜 그런지 설명해주실 수 있나요?
### LSA, LDA, SVD 등의 약자들이 어떤 뜻이고 서로 어떤 관계를 가지는지 설명할 수 있나요?        
## Markov Chain을 고등학생에게 설명하려면 어떤 방식이 제일 좋을까요?
## 텍스트 더미에서 주제를 추출해야 합니다. 어떤 방식으로 접근해 나가시겠나요?
## SVM은 왜 반대로 차원을 확장시키는 방식으로 동작할까요? 거기서 어떤 장점이 발생했나요?
### eigenvalue, eigenvector에 대해 설명해주세요. 이건 왜 중요한가요?
## 다른 좋은 머신 러닝 대비, 오래된 기법인 나이브 베이즈(naive bayes)의 장점을 옹호해보세요.
# Association Rule의 Support, Confidence, Lift에 대해 설명해주세요.
### 최적화 기법중 Newton’s Method와 Gradient Descent 방법에 대해 알고 있나요?
## 머신러닝(machine)적 접근방법과 통계(statistics)적 접근방법의 둘간에 차이에 대한 견해가 있나요?
## 인공신경망(deep learning이전의 전통적인)이 가지는 일반적인 문제점은 무엇일까요?
### 지금 나오고 있는 deep learning 계열의 혁신의 근간은 무엇이라고 생각하시나요?
# ROC 커브에 대해 설명해주실 수 있으신가요?
# 여러분이 서버를 100대 가지고 있습니다. 이때 인공신경망보다 Random Forest를 써야 하는 이유는 뭘까요?
## 두 추천엔진간의 성능 비교는 어떤 지표와 방법으로 할 수 있을까요? 검색엔진에서 쓰던 방법을 그대로 쓰면 될까요? 안될까요?
# K-means의 대표적 의미론적 단점은 무엇인가요? (계산량 많다는것 말고)
시각화
## "신규/재방문자별 지역별(혹은 일별) 방문자수와 구매전환율"이나 "고객등급별 최근방문일별 고객수와 평균구매금액"와 같이 4가지 이상의 정보를 시각화하는 가장 좋은 방법을 추천해주세요
## 구매에 영향을 주는 요소의 발견을 위한 관점에서, 개인에 대한 쇼핑몰 웹 활동의 시계열 데이터를 효과적으로 시각화하기 위한 방법은 무엇일까요? 표현되어야 하는 정보(feature)는 어떤 것일까요? 실제시 어떤 것이 가장 고민될까요?
# 파이차트는 왜 구릴까요? 언제 구린가요? 안구릴때는 언제인가요?
# 히스토그램의 가장 큰 문제는 무엇인가요?
# 워드클라우드는 보기엔 예쁘지만 약점이 있습니다. 어떤 약점일까요?
## 어떤 1차원값이, 데이터가 몰려있어서 직선상에 표현했을 때 보기가 쉽지 않습니다. 어떻게 해야할까요?
분석 일반
# 좋은 feature란 무엇인가요. 이 feature의 성능을 판단하기 위한 방법에는 어떤 것이 있나요
# "상관관계는 인과관계를 의미하지 않는다"라는 말이 있습니다. 설명해주실 수 있나요?
# A/B 테스트의 장점과 단점, 그리고 단점의 경우 이를 해결하기 위한 방안에는 어떤 것이 있나요?
## 각 고객의 웹 행동에 대하여 실시간으로 상호작용이 가능하다고 할 때에, 이에 적용 가능한 고객 행동 및 모델에 관한 이론을 알아봅시다.
## 고객이 원하는 예측모형을 두가지 종류로 만들었다. 하나는 예측력이 뛰어나지만 왜 그렇게 예측했는지를 설명하기 어려운 random forest 모형이고, 또다른 하나는 예측력은 다소 떨어지나 명확하게 왜 그런지를 설명할 수 있는 sequential bayesian 모형입니다. 고객에게 어떤 모형을 추천하겠습니까?
## 고객이 내일 어떤 상품을 구매할지 예측하는 모형을 만들어야 한다면 어떤 기법(예: SVM, Random Forest, logistic regression 등)을 사용할 것인지 정하고 이를 통계와 기계학습 지식이 전무한 실무자에게 설명해봅시다.
## 나만의 feature selection 방식을 설명해봅시다.
## 데이터 간의 유사도를 계산할 때, feature의 수가 많다면(예: 100개 이상), 이러한 high-dimensional clustering을 어떻게 풀어야할까요?
시스템 엔지니어링
# 처음 서버를 샀습니다. 어떤 보안적 조치를 먼저 하시겠습니까?
## SSH로의 brute-force attack을 막기 위해서 어떤 조치를 취하고 싶으신가요?
## MySQL이 요새 느리다는 신고가 들어왔습니다. 첫번째로 무엇을 확인하시고 조정하시겠나요?
## 동작하는 MySQL에 Alter table을 하면 안되는 이유를 설명해주세요. 그리고 대안을 설명해주세요.
## 빡세게 동작하고 있는 MySQL을 백업뜨기 위해서는 어떤 방법이 필요할까요?
# 프로세스의 CPU 상태를 보기 위해 top을 했습니다. user,system,iowait중에 뭐를 제일 신경쓰시나요? 이상적인 프로그램이라면 어떻게 저 값들이 나오고 있어야 할까요?
## iowait이 높게 나왔다면, 내가 해야하는 조치는 무엇인가요? (돈으로 해결하는 방법과 소프트웨어로 해결하는 방법을 대답해주세요)
## 동시에 10개의 컴퓨터에 라이브러리를 설치하는 일이 빈번히 발생합니다. 어떤 해결책이 있을까요?
# screen과 tmux중에 뭘 더 좋아하시나요?
# vim입니까. emacs입니까. 소속을 밝히세요.
# 가장 좋아하는 리눅스 배포판은 뭡니까. 왜죠?
## 관리하는 컴퓨터가 10대가 넘었습니다. 중요한 모니터링 지표는 뭐가 있을까요? 뭐로 하실건가요?
## GIT의 소스가 있고, 서비스 사용중인 웹서버가 10대 이상 넘게 있습니다. 어떻게 배포할건가요?
분산처리
# 좋게 만들어진 MapReduce는 어떤 프로그램일까요? 데이터의 Size 변화의 관점에서 설명할 수 있을까요?
### 여러 MR작업의 연쇄로 최종결과물이 나올때, 중간에 작업이 Fail날수 있습니다. 작업의 Fail은 어떻게 모니터링 하시겠습니까? 작업들간의 dependency는 어떻게 해결하시겠습니까?
## 분산환경의 JOIN은, 보통 디스크, CPU, 네트워크 중 어디에서 병목이 발생할까요? 이를 해결하기 위해 무엇을 해야 할까요?
## 암달의 법칙에 대해 말해봅시다. 그러므로 왜 shared-nothing 구조로 만들어야 하는지 설명해봅시다.
### shared-nothing 구조의 단점도 있습니다. 어떤 것이 해당할까요?
## Spark이 Hadoop보다 빠른 이유를 I/O 최적화 관점에서 생각해봅시다.
### 카산드라는 망한것 같습니다. 왜 망한것 같나요? 그래도 활용처가 있다면 어디인것 같나요. (작성자의 취향이 반영되었으므로, 상대적 강점,약점 정도로 표현해주세요 ㅎㅎㅎ)
## TB 단위 이상의 기존 데이터와 시간당 GB단위의 신생 로그가 들어오는 서비스에서 모든 가입자에게 개별적으로 계산된 실시간 서비스(웹)를 제공하기 위한 시스템 구조를 구상해봅시다.
### 대용량 자료를 빠르게 lookup해야 하는 일이 있습니다. (100GB 이상, 100ms언더로 특정자료 찾기). 어떤 백엔드를 사용하시겠나요? 느린 백엔드를 사용한다면 이를 보완할 방법은 뭐가 있을까요?
### 데이터를 여러 머신으로 부터 모으기 위해 여러 선택지가 있을 수 있습니다. (flume, fluentd등) 아예 소스로부터 kafka등의 메시징 시스템을 바로 쓸 수도 있습니다. 어떤 것을 선호하시나요? 왜죠?
웹 아키텍쳐
## 트래픽이 몰리는 상황입니다. AWS의 ELB 세팅을 위해서 웹서버는 어떤 요건을 가져야 쉽게 autoscale가능할까요?
## 왜 Apache보다 Nginx가 성능이 좋을까요? node.js가 성능이 좋은 이유와 곁들여 설명할 수 있을까요?
## node.js는 일반적으로 빠르지만 어떤 경우에는 쓰면 안될까요?
### 하나의 IP에서 여러 도메인의 HTTPS 서버를 운영할 수 있을까요? 안된다면 왜인가요? 또 이걸 해결하는 방법이 있는데 그건 뭘까요?
### 개발이 한창 진행되는 와중에도 서비스는 계속 운영되어야 합니다. 이를 가능하게 하는 상용 deploy 환경은 어떻게 구현가능한가요? WEB/WAS/DB/Cluster 각각의 영역에서 중요한 변화가 수반되는 경우에도 동작 가능한, 가장 Cost가 적은 방식을 구상하고 시나리오를 만들어봅시다.
서비스 구현 (python, javascript, ...)
# 크롤러를 파이썬으로 구현할 때 스크래핑 입장에서 BeautifulSoup과 Selenium의 장단점은 무엇일까요?
## 빈번한 접속으로 우리 IP가 차단되었을 때의 해결책은? (대화로 푼다. 이런거 말구요)
# 당장 10분안에 사이트의 A/B 테스트를 하고 싶다면 어떻게 해야 할까요? 타 서비스를 써도 됩니다.
## 신규 방문자와 재 방문자를 구별하여 A/B 테스트를 하고 싶다면 어떻게 해야 할까요?
## R의 결과물을 python으로 만든 대시보드에 넣고 싶다면 어떤 방법들이 가능할까요?
# 쇼핑몰의 상품별 노출 횟수와 클릭수를 손쉽게 수집하려면 어떻게 해야 할까요?
## 여러 웹사이트를 돌아다니는 사용자를 하나로 엮어서 보고자 합니다. 우리가 각 사이트의 웹에 우리 코드를 삽입할 수 있다고 가정할 때, 이것이 가능한가요? 가능하다면, 그 방법에는 어떤 것이 있을까요?
## 고객사 혹은 외부 서버와의 데이터 전달이 필요한 경우가 있습니다. 데이터 전달 과정에서 보안을 위해 당연히(plain text)로 전송하는 것은 안됩니다. 어떤 방법이 있을까요?
대 고객 사이드
## 고객이 궁금하다고 말하는 요소가 내가 생각하기에는 중요하지 않고 다른 부분이 더 중요해 보입니다. 어떤 식으로 대화를 풀어나가야 할까요?
## 현업 카운터 파트와 자주 만나며 실패한 분석까지 같이 공유하는 경우와, 시간을 두고 멋진 결과만 공유하는 케이스에서 무엇을 선택하시겠습니까?
# 고객이 질문지 리스트를 10개를 주었습니다. 어떤 기준으로 우선순위를 정해야 할까요?
## 오프라인 데이터가 결합이 되어야 해서, 데이터의 피드백 주기가 매우 느리고 정합성도 의심되는 상황입니다. 우리가 할 수 있는 액션이나 방향 수정은 무엇일까요?
## 동시에 여러개의 A/B테스트를 돌리기엔 모수가 부족한 상황입니다. 어떻게 해야할까요?
## 고객사가 과도하게 정보성 대시보드만을 요청할 경우, 어떻게 대처해야 할까요?
## 고객사에게 위클리 리포트를 제공하고 있었는데, 금주에는 별다른 내용이 없었습니다. 어떻게 할까요?
## 카페24, 메이크샵 같은 서비스에서 데이터를 어떻게 가져오면 좋을까요?
### 기존에 같은 목적의 업무를 수행하던 조직이 있습니다. 어떻게 관계 형성을 해 나가야 할까요. 혹은 일이 되게 하기 위해서는 어떤 부분이 해소되어야 할까요.
## 인터뷰나 강의에 활용하기 위한 백데이터는 어느 수준까지 일반화 해서 사용해야 할까요?
## 고객사가 우리와 일하고 싶은데 현재는 capa가 되지 않습니다. 어떻게 대처해야 할까요?
### 고객사들은 기존 추천서비스에 대한 의문이 있습니다. 주로 매출이 실제 오르는가 하는 것인데, 이를 검증하기 위한 방법에는 어떤 것이 있을까요?
### 위 관점에서 우리 서비스의 성능을 고객에게 명확하게 인지시키기 위한 방법을 생각해봅시다.
개인정보에 대한 이해
# 어떤 정보들이 개인정보에 해당할까요? ID는 개인정보에 해당할까요? 이를 어기지 않는 합법적 방법으로 식별하고 싶으면 어떻게 해야할까요?
# 국내 개인 정보 보호 현황에 대한 견해는 어떠한지요? 만약 사업을 진행하는데 장애요소로 작용한다면, 이에 대한 해결 방안은 어떤 것이 있을까요?
## 제3자 쿠키는 왜 문제가 되나요?
 
2016-04-07 SAD - 연세대학교 정보대학원 수업내용

과제 하는거 보면 Parent key를 child record 에 넣는 경우가 있는데, CSF에서는 foreign key 걱정하지 말라는거에요)

7점 맞은 사람들은 CSF 개념을 다시 보세요.
 
오라클 디자이너 실습
 

* 패스워드 변경
[Design Editor] -> cancel -> tools SQL*Plus -> SQL문 (ALTER USER 기존PW identified by 신PW)
 
* ERD 그리기
New diagram -> Choose Container -> 4개의 모듈이 있음.

 

실습할 때 Lab04(나), Practice04(지현씨) 를 사용. 더블클릭 하지 말고 OK 누를것.
ER제출에는 Project04 사용.

 

Entity Name 줄 때, 오라클 Keyword를 쓰면 안된다.
Order가 oracle Keyword임. 그래서 Salesorder, purchaseorder 등으로 명명해야함.
생성한 Entity 더블클릭

 

Opt -> 체크되어 있으면 값이 없어도 넘어감
Primary와 Opt 동시에 체크하면 지금은 에러 안나는데 나중에 에러남.
 

 
Tool의 Brain에 해당하는 것이 Repository

RON 클릭

애트리뷰트에 잘 들어간 것을 확인할 수 있음.
그리고 여기에서 휴지통 잘 비워줘야 함. 문제가 생기곤 함.
 
* 관계 잘 그려줘야함. 

M:1 ( M to O ) : 일대다, 필수에서 선택값으로.

 

 

 
RON에서 Edit -> Requery All 하면 새로고침되어 잘 반영되어 있는지 확인가능

 
ERD에서
관계선 클릭 -> Edit -> Delete From Repository 하면 관계가 지워짐. 이거 말고 다른걸로 지우면 레파지토리에는 남아있어서 문제가 생김.
관계를 먼저 지워야 Entity가 지워짐.
 

 
FHD

 

오른쪽 사각형이 function 생성하는것임. 클릭 -> 드래그 -> parent에 드롭

Elementary는 Child가 없는 Function 임. 체크를 안하면 설계 단계에서 모듈이 안만들어짐.

프로세스가 데이터를 써. CRUD 넷중에 하나로 써.

Create를 앞에서 체크 했기 때문에 insert가 자동 체크되어 있는걸 확인할 수 있음. 바뀌는건 Update. Create는 Key를 만들어주는거. Update는 non key variable 값을 변경하는 것.
 
Child가 하나면 안됌. (왜?? 모르겠음…)

붉은 원은 Elementary 가 아니라는 소리.

DEPENDENT는 EMPLOYEE에 속해있기 때문에 반드시 DEPENDENT 생성전에 EMPLOYEE를 읽어야함.
Cascading -> 하나를 지울 때 따라 지워야 함.
Referential Integrity -> 반드시 child 가 parent entity를 refer 한다.
 

팁을 주면, 시퀀스에서는 순서가 중요함. 자리를 바꾸고 싶다? 클릭해서 드래그로 바깥으로 뺄 수 있음. 옆에 놓고 싶은 Entity 옆으로 드랍하면 아래처럼 순서가 바뀜

 

 

 
CSF  -> KPI 도 가능.
 

 

 

 

완성 -> 보기 좋게 변경 -> Edit -> Setting

 

Entity를 하나도 안쓰는 프로세스가 없어요.
이걸 CRUD MATRIX라고 해요. 이걸 뽑아봤는데 아무 엘리멘터리를 쓰지 않는 것이 있으면 에러임. C가 한 컬럼에 여러 개임. 무슨 의미임? 사원 레코드를 만드는게 여러 군데에서 이뤄지고 있다는 것임. 인사쪽에서 한 번만 처리하도록 해야함. C가 여러 번 나오는 것도 에러임. 2~3번 정도는 괜찮음. 본사랑 지사가 있다거나 등.
 
조금 까다로운 DFD임

 
제일 상위 Function 선택

 

 
Edit -> Include -> function

위에 … 표시가 있는건 Elementary가 아니라는 말.
 
화살표는 단순히 연결하는 것이 아니라 데이터가 어떤게 흘러가는 것인지 정의 하는 것임. 화살표를 더블클릭하면 어떤 데이터가 흘러가는지 지정할 수 있음.

 
내용을 define 안하면 감점임. Data flow이기 때문에 단순 연결 안됨.

완성
 
DFD에서 Balance가 굉장히 중요한 Concept임.

아래 2개 합하면 위에꺼.
Balance = DFD에서 들어오는 화살표 나가는 화살표 flow 가 쪼갠 다이어그램에서도 맞아야 함.
 
Edit -> Include
-> function
-> External
-> data store
-> data flow 여기에서 중요한게, data flow 불러온 것은 참고하고 새로 그려야 함. 불러온 것을 지울때는 delete repository가 아니라 cut으로 날림.

Contents 지정해주면 완성.

완성
 
2016-04-05 정량적 데이터 분석  - 연세대학교 정보대학원 수업내용

Subjective, Objective 데이터를 되도록 포괄하도록 수집하는게 좋아요.

# 리서치 프로포절은 1 Page (미니멈)
 

MeV가 없으면 SPSS를 이용한 Regression Testing.

 

3) Rotatm vainax Analyze scale -s Relinity Analysis 2) wiln refalaAXing raerse items 3) Statistics- a) Criteria. calpna) 1) BWar1ate c:metal'om Select an mat neo to De 1Vepetx3eru variable selaucu?tjon Varian E "st 3)statisticy colinearitucu?f diagnostics C ��ffcu�� '/>
가이드 라인은 다 알고 있으리라고 생각하고 수업 진행.

가능하면 Mean하고 S.d(표준편차)를 입력하도록 하는 것이 좋음.
 
변수는 동그라미, 측정항목은 박스
 

 

 

수집된 데이터가 얼마나 잘 측정하고 있느냐
 

 
아이겐벨류 1.0 보다 작은데 왜 변수를 쓰는지를 스크리플롯을 활용해서 설명을 해줘야함.
 
스크리 플롯에서 각도가 덜 급격한 부분을 찾아낼 수 있음.
EFA 단계에서 채택을 할 수는 없지만 구조방정식에서 아이겐벨류값 등을 활용해서 하나 정도는 쓸 수 있음.
 
주성분 : principal
고유값 : Eigenvalue
 

두가지 조건을 동시에 이용해서 여기에 맞지 않는 항목은 드랍해야함.
 

위의 표를 최종적으로 제시해야함.

 

항목제거시 크론바 알파 값을 볼 수 있음. 크론바 알파값이 낮을 때 설문 항목 제거를 고려해볼 수 있음.

변수 차원으로 계산하는 것이 필요.

변수간의 Correlation
0.6넘어가면 문제가 있을 수 있음. 변수를 섞거나 빼는 것을 고려해야함.
 
 
 
 
## HW1 관련 3글자 + 영어로 변수 바꿀 것.
논문에 쓸 때 처럼 표를 정리해서 낼 것.
 

*에 따른 P-value 결정

VIF 값이 10 이상이거나, condition indices값이 30이상이면 multicollinearity가 있다. (공선성진단) 0.6 이상일시 해

 
Standardizing IVs
 

위의 절차대로 분석하고 응답자 분석할 것.
 

[고정된 요인수]를 설정하면 변수 개수만큼 나오도록 할 수 있고 이 경우 CFA를 한 번 더 거치면 된다.
 
2016-04-02 Business Models 빅데이터 CASE 요약 - 연세대학교 정보대학원 수업내용

 

 

 

 

Figure 1: Big Data Business Model Maturity Chart
 

Big Data Business Model Maturity Chart InFocusInFocus
 

 
External 분석 + internal 분석 = SWOT 분석.
 
평가
 
전체적인 흐름.
 
페이스북 전체적인 overview
플로우 차트 -> 비즈니스 캔버스 -> 이슈
SWOT 분석은 한 단계 더 나간 것.
각 이슈별 Recommendation이 나오겠죠.
경쟁사와의 벤치마킹이 좀 약함

 
어째서 구글의 검색 라이벌을 페이스북이라고 하는가.
나와 유사한 사람들의 엄청난 데이터를 바탕으로 추후에 검색을 해줄 수 있기 때문임.
Snob effect
속물 효과(俗物效果, snob effect)는 특정 제품에 대한 소비가 증가하게 되면 그 제품의 수요가 줄어드는 현상을 말한다. 네트워크 효과(Network effect)의 일환이다. (위키백과)
2가지 옵션이 있을 것 같음. 서브 플랫폼 중 하나를 정하고. 선택 기준에 대해 설명할 수 있을 때.
이슈리스트를 뽑아볼 것.
 
 
 

+ Recent posts