Behavior Interview
STAR Method
- Situation: 과거에 했던 일을 나열하는 식이 아니라 a specific한 상황을 묘사하면서 인터뷰어가 충분히 그 사실을 이해할 수 있도록 디테일한 맥락을 같이 전달해야한다.
- Task: 상황 이후에 너가 그 일에 대한 목표, goal을 설명해야한다. 무엇을 성취하려고 했는지, 무엇을 향해 나가고 있었는지.
- Action: 주어진 상황에서 내가 했던 액션들에 대해 디테일과 함께 말해야 한다. 개인적으로는 어떤 것을 했는지, 조직적으로는 어떤 것을 했는지에 대한 설명이 필요하다.
- Result: 액션에 대한 결과와 성취를 말해야한다. 어떤 식으로 끝났고 내가 배운 것은 무엇인지 무엇을 성취했는지 어떤 영향을 미쳤는지 얘기해야한다. 프로젝트가 성공했다고 말할때 어떤 기준으로 성공이라는 표현을 쓰며 어떻게 성공했는지 알았는지에 대한 디테일이 필요하다.
Sources from my stories
군대 이야기
- 전구 설치에 실패를 했고 조언을 얻는 생활화를 배움
세계 일주 이야기
- 도전에 대한 무서움과 그것이 주는 희열을 느낌. 모르는 곳에 첫 발을 내딛을때의 무서움. 친구로부터 벗어났을 때의 무서움. 후에는 괜찮고 성취감도 얻었다.
호주 바리스타 이야기
- 나의 일에 대한 열정과 성실, 그리고 기대 이상의 결과 - 사장님이 좋아했고 매출이 증가했고 손님들이 늘어났다.
- 시키지 않았지만 주인 의식을 가지고 했다.
아이택시
- 열정 - 내 아이와 같은 산물이다. 진짜 밥만 먹고 코딩을 하고 목이 아파서 잠을 잤지 하기 싫어서 잔게 아니다. 일어나서 다시 코딩을 했다.
- 성취 - 많은 학생들이 이용했고 학생들 사이에서 회자되면서 일을 함에 있어 자신감이 생김
인트라넷 i7
- 리더쉽 - 10명에 대해 동기부여를 하고 모아서 완성함.
- 빨리 배움 - 다 처음 했지만 결국 완성했다.
- 팀원 간의 갈등 - 몇명은 자기가 하고 싶은 다른게 생겼다. 하지만 그것을 포용해서 하나로 뭉쳤다.
- 어려움 봉착 - 기술력의 부족함으로 멈췄고 외부 도움을 받아 해결해나갔따. 그리고 그게 내가 더 배워야 겠다고 생각한 이유다.
엘로이 큐브
- 엘로이 큐브는 회사이면서 하나의 팀으로보고 내가 새로운 사업에 대한 테스트와 투자를 이끌었다고 하자.
시스코, 케이블랩스
- 혼자서 프로젝트를 성공시켰고 보안 경력이 많으며 학교 대포로 많은 것을 했다.
학교 합격
- 두려움 극복, 노력 - 외국어를 배우고 외국어로 수업을 듣는다는 것은 보통 일이 아니다. 그것을 해냈다.
투자 이야기
- 내가 받은 평가. 3억, 5억, 전액 장학금의 투자를 받을 만큼 가치 있는 사람.
무전 여행, 샘물 호스피스 봉사
- 도전 정신 및 삶에 대한 깨달음
아프리카 봉사
- 나눔에 대한 깨달음과 비전에 대한 생각
Questions
Tell me about yourself.
- A lot of jobs require someone who can think on their feet or present ideas with crispness and clarity. This question provides employers with an early preview of your core skills, your personality and your ability to respond to an unstructured question.
- 테크니컬한 부분에 있어서는 persistent, detail-oriented, and a hands-on security engineer라고 표현 할 수 있고 non-tech한 부분에서는 relation building and good listener입니다.
내가 Trick bot이라는 malware를 수업의 프로젝트로 팀으로써 조사를 할때 자주 많은 시간을 할애해 리버스 엔지니어링을 했던 기억이 납니다. 리버스 엔지니어링을 할때에는 기본적으로 detail한 부분을 잘 잡아야 된다 생각합니다. 그 프로젝트 기간에 나는 매일 같이 내가 발견하지 못했던 취약점에 대해서 로직을 파악하기 위해 하나하나 알아봤고 각 함수들의 이름을 최대한 쉽게 새로이 바꾸면서 원리들을 찾아나가기 시작했습니다. 이런 면들이 두가지 속성을 보여주는 것 같고 나머지는 내가 이론적으로 배울때 그것에 관한 실습 문제를 꼭 implement하거나 ctf문제를 풀었는 것이었습니다. 단순히 이론적으로 배우는것에서 그치지 않고 hands-on을 실천해왔던 엔지니어입니다.
삶에서는 사교적으로 여러 모임에 참석하는 것을 좋아하고 네트워크가 넓은 편입니다. 늘 내 친구들은 나의 네트워크에 대해 놀라곤합니다. cs 엔지니어로써 지내고 있지만 인류학 박사와도 친하고 음대생이랑도 연락을하며 체육인, 광고 업종, 심리학, 연예인 등 여러 분야의 사람들과 네트워크를 형성하고 있습니다. 새로운 사람을 만날 수 있는 자리를 좋아하고 그곳에 가면 처음 봐도 마치 예전부터 봐왔던 것 같은 편안함으로 대화를 이끌어 갈 수 있습니다. 또한 그들과 대화를 할 때 좋은 listener로써 그들의 말을 귀담아 듣고 공감을 불러일으킵니다. 이러한 점에서 그들은 자신들의 이야기를 더 많이 함으로써 좋아하고 편안하게 함으로써 금방 친해질 수 있었습니다.
약간의 단점이라고 하면 아직까지는 한국어에 국한되어 이런 장점을 발휘할 수 있어서 아쉽긴한데 한국인이라면 정말 저를 모를 수 없을 것입니다.(유머코드))Failed and mistake
- Tell me about a time you failed or made a mistake.(Tell me about a decision at work that you made but later regretted).
- Being able to admit to a mistake shows maturity and personal accountability. Employers want to know you’re self-aware and that you learn from past experiences. Errors are inevitable in any job - it’s how you handle them that matters.
- 내가 군인이었을 때의 일입니다. 나의 역할은 전쟁 시에는 통신을 담당하는 병사였고 일상 부대 생활을 할 동안에는 부대 전기 시설에 관한 모든 담당을 맡았습니다. 한국은 특이하게 모든 병사들이 랜덤하게 자신의 일에 대해 배정을 받고 의무로 해야 하는 나라입니다. 나는 전기에 대해 아는 것이 없었습니다.
어느 날, 나의 commander가 나에게 새로 지어진 건물의 전등들을 부대에 있는 새로운 전등으로 교환을 하라고 했습니다. 나는 한 번도 단순한 저구 교체가 아닌 전등 전체를 교체한 적은 한 번도 없어서 할 수 있을지 의문이었지만 내 책임은 모든 부대의 전기를 책임지는 역할이기 때문에 용기를 가지고 한 번 시도해보려고 했습니다.
나는 electrical breaker를 일단 끄고 단순히 이전 전등을 뽑아서 그 자리에 새로운 전등을 다시 교체하면 될줄 알았습니다. 그리고 테스트로 하나의 전등을 교환한 후 전기 차단을 다시 올리니 펑 소리를 내면서 전등이 폭발했습니다. 그때 엄청 놀랐었고 무슨일이지 검색을 해보고 전화로 외부에 물어보니 ballast가 없어서 그런 일이 벌어졌던 것입니다. 이후 ballast(안정기, stabilizer)를 구해서 그것과 함께 설치를 하니 아무 문제 없이 잘 작동하게 되었습니다.
이 일 후에는 내가 해보지 않았던 일을 시작할 때에는 아무리 자신감이 충분히 있다고 하더라도 조언을 구하기 시작했습니다. 결국 나는 목표를 달성하고 이뤘지만 만약 조언을 미리 구했더라면 폭발한 전기로 인해 잃은 비용과 위험 할 수 있었던 moment를 피할 수 있었을 것입니다. 이후 지금가지 내가 해보지 않은 일을 하려고 할 때 조언을 미리구해 많은 비용과 위험을 줄여 나가고 있습니다.Why want to work in here
- Why do you want to work here? what excites you about X? what interests you about the team you’re interviewing for?
- Interviewers want to understand what prompted you to apply for this job. They don’t want candidates who are indifferent to where they work. Instead, they want someone who offers very specific reasons for why tehy want this job.
- 내가 일하고 싶은 곳은 내가 성장 할 수 있으면서 동시에 내가 도움을 줄 수 있는 곳이다. 나는 미국에 온지 2년이 되었고 아직까지 처음 들어보는 회사가 많다. 심지어 대학을 선택할 때에도 나는 카네기 멜론 대학, 얼반 샴페인, 코넬과 같은 대학을 전혀 몰랐다. 나는 많은 좋은 기업들을 여전히 다 모르지만 내 학교 친구들로부터 정보를 듣곤 한다.
이 포지션도 친구의 추천을 받았다. 내가 JD을 읽어 봤을 때에는 Twilio가 unique하고 committed to my growth, my learning, my development, and my entire employee experience를 해준다는 사실에 엄청 매력을 느꼈다. 내가 알기로 OWASP chapter를 돕는 멤버2명이 있고 regular meetup과 blog post를 열심히 하는 동료들이 있기에 충분히 내가 배울 수 있는 것이 많고 서포팅 해주는 문화가 정말 매력적이라 생각한다.
내가 threat model, pen test, building automation, make a document for educating software engineer의 경험들도 이 포지션에 충분히 도움을 줄 수 있어서 더욱이 좋았다. 내가 성장하고 있는 회사에 value를 contribute할 수 있다는 일은 정말 의미 있는 일이다. 나는 그런 의미 있는 일을 할 때 내 삶이 fulfill 되는 것 같다.Most challenging
- Describe your most challenging project.(Tell me a time when you overcame a big problem.
- Employers want to get a sense of what ‘challenging’ means to you. They also want to know how you nadled the situation in a calm way. They’re looking for a storyline to prove that you can turn a bad story into a good story.
- 인트라넷을 만들때였습니다. 그리고 그 때 내가 경험했던 큰 문제도 있었습니다.
내가 대학교 junior시절, 우리 학교에 인트라넷이 있었습니다. 그리고 그것은 내가 속했던 cra에서 senior들이 5년전에 만들어서 지금까지 써오던 인트라넷이었습니다. 거의 학생 100%가 모두 사용했던 커뮤니케이션 시스템이었고 디자인과 보안에 관한 것들은 낙후되어 있었습니다. 정부에서 대학교내 웹 서버들에 대한 새로운 지침이 내려왔고 기존 인트라넷은 그 standard에 미치지 못해 폐쇄 위기에 처해 있었습니다. 그리고 그 말인즉슨 기존 웹사이트는 유저들에게 잠재적인 위험이 있다는 것을 의미했습니다.
나는 동아리의 회장이었고 그것은 우리 동아리의 중요한 자산이기도 했기에 사람을 모아 새로운 인트라넷을 만들려고 했습니다. 나는 웹 사이트를 만들어 본 적이 없지만 방학동안 같이 만들어볼 친구를 모집하였고 모집할 때 내가 이 프로젝트를 통해 이루고자 하는 비전과 이후 우리가 얻을 수 있는 benefit에 관해 말을 해서 그들을 설득(persuade)시켰습니다.
그렇게 방학 여름 방학동안 우리는 동아리실에서 살다시피 일을 하며 매일 회의와 코딩으로 하루하루를 지냈습니다. 모두가 처음 해보는 웹 사이트 만들기로 한 달 정도 게시판을 만들고 디비 연결을 한 후 게시판의 특정 기능인 에디터를 넣는 작업을 했는데 거기서 서로 할 수 없어 막히기 시작했습니다. 그리고 거기서 막힌지 일주일이 다되어가자 팀원들의 사기(moral)가 떨어지기 시작했습니다.(gown down)
내가 말로써 잘 할 수 있다 계속 격려도 해보았고 지금까지 잘한 것과 앞으로 우리가 할 수 있는 미래에 대해 상기시켜 보았습니다. 그리고 나도 밤새 남몰래 더 그 문제를 해결하기위해 여러가지 웹 사이트를 보고 시도해보았습니다. 하지만 그때에는 실패했었습니다. 결국 내가 했던 것은 외부의 도움을 구하는 것이었습니다. 친구 중 회사에서 일하는 친구가 있었는데 그 친구에게 도움을 구해서 결국은 그 문제를 해결했습니다.
이후에도 유사한 일들이 몇번 있었고 도움을 거쳐가면서 우리들 스스로가 성장하면서 1년이 지난 시점에 겨우 완성을 할 수 있었습니다. 가장 큰 문제였었고 지금까지 생생히 기억나는 순간들이며 그 순간들이 나로 하여금 더 많은 것을 배우는데 모티베이션을 주기도 했습니다. 프로젝트를 더 잘 리드하기 위해서는 내가 더 많은 것을 알아야 됨을 깨달았습니다.Weakness
- What is your greatest weakness
- The interviewer is assessing whether your weaknesses will get in the way of doing the job, Employers are looking for humility and whether you’re committed to learning and growing. This is a place you can showcase what you’re doing to improve.
- 나는 평소에 질문이 많은 편이다. 가끔 이런 질문이 사람을 irritate하게 만들기도 한다. 예전부터 철학공부를 해서인지 모든 일들에 대해 궁금증이 많고 질문을 하게 된다. 처음 만난 사람이 있을때 나는 그 사람이 하던 것에 대해 많을 질문을 하게 된다. 특히 한국어로 얘기할때는 어느 누구와도 끊임없이 얘기 할 수 있다.
하지만 처음 보는 사람들 중 some people은 많은 질문에 부담스러워한다. It can makes uncomfortable to them. 서로 관계를 맺을때에는 내가 아는 것에 대한 만족감을 충족하는 것 보다 그 사람이 편안하게 느끼는 것이 중요하다고 생각했다. 그래서 나는 모두에게 항상 질문을 하는 습관을 줄여나가기 시작했다.
하지만 이런 질문을 하는 습관은 무언가를 배울때 있어서 큰 도움이 된다. 군인(squad leader)이었을때 전기에 관해 책임을 맡았는데 그 누구도 나에게 많은 것을 알려주진 않았지만 스스로 궁금했던 점들을 질문하고 답을 찾아가면서 군 생활 끝에는 전화기의 원리도 몰랐던 내가 각 부대의 전화기 설치를 직접 하고 전화선 관리를 했으며 cctv 설치 및 부대에 통신, 전기 문제가 있을때 내가 해결을 다 하여서 외부 도움 없이도 부대 내에서 모든 전기 관련 문제들을 하나씩 다 고쳐나갔었다. 그리하여 평소 전기 문제가 생길때 외부 도움을 받을때까지 1주일 이상의 시간이 소요되었는데 내가 있을 당시에는 모든 일들이 2-3일 안에 처리 할 수 있었다.Accomplished, proud
- Tell me about something you’ve accomplished that you are proud of.(Tell me about an accomplishment in your life.)
- This question assesses how you define a professional success. If the story resonates, the employer will want you to do similar things at his or her company. You should focus on the impact and output.
- Non-tech한 것과 tech에 관한 두가지 성취가 있는데 무슨 이야기를 듣고 싶은가?
Tech - 아이택시라고 taxi riding sharing service mobile and web application이 나의 자랑할만한 accomplishment이다. 이 프로젝트는 내가 다니던 학교의 특수성 때문에 시작한 프로젝트 입니다. 우리 학교는 시골에 있었고 대다수의 한국 학생들은 차가 없습니다. 1시간 간격으로 다니는 버스를 타야지만 학교 밖을 갈 수 있었고 혹은 택시를 불러서 가야지 밖으로 나갈 수 있었습니다. 학생들의 주머니 사정은 좋지 않았고 택시비가 꽤나 부담이 되었습니다. 하지만 학교에서 밖으로 갈 곳은 한정적이라서 같은 시간에 같은 장소로 가고 싶은 학생들은 거의 항상 있었습니다. 혹은 외부에서 학교로 들어올때에도 버스를 놓친 학생들은 택시를 타고 학교에 와야만 했습니다.
이때 출발 시간과 목적지와 출발지가 동일한 학생들을 묶어주면 비용을 아낄 수 있다는 아이디어가 있었고 그것에 관해 개발에 들어갔습니다.
이 개발을 할때 밤낮으로 코딩을 해가면서 진짜 밥만 먹고 컴퓨터 앞에 앉아 코딩만 했던 기억이 있습니다. 내가 생각하던 기능을 하나하나 구현할 때 그 짜릿함은 그 구현 직전까지 들어갔던 모든 힘든 것들을 잊게 만들었습니다. 목이 아파 어쩔 수 없이 잠이 들면서 결국은 그 서비스를 런칭 시켰고 그 결과 90% 이상의 학생들이 가입을 했고 4000명의 총 학생 중 MAU가 1000명에 가까웠습니다. 학교를 다니면서 주변 학생들이 내 서비스를 사용하고 만족하는 모습을 뽈때면 그만큼 자랑스럽고 성취감이 좋았던 것도 잘 없습니다.
Non-tech - 나는 커피 회사를 차릴 수 있게 3억과 5억의 투자를 받아본 경험이 있습니다. 그리고 대학원을 지원해줄 전액 장학금도 받았습니다. 이러한 투자 경험이 나에게 있어서는 가장 큰 성취감입니다.
나는 호주에서 바리스타로 일을 6개월간 했었습니다. 그리고 그 전부터 나는 항상 사업을 한 번 해보면 어떨까 하여 사업에 관한 공부도 해보고 직접 사업 계획 구상도 해보았습니다. 시장 조사도 했었지만 늘 생각이 들었던 것이 사업보다 공부를 해야지라는 생각이 컸습니다. 내가 바리스타로 호주에서 일을 했을때 사장님은 내가 일 하는 것에 대해 엄청 만족해하고 있었습니다. 나는 20% 이상의 매출을 증가시켰고 손님과 사장님의 마음을 훔쳤습니다.
나는 일을 하면서 호주의 인건비는 한국에 비해 3배이상 높은데 커피 가격은 낮은 점에 대해 놀라곤 했습니다. 그리고 평소에 만약 한국에서 이 맛있는 커피 사업을 한다면 돈을 얼마나 벌 수 있을까라는 생각도 해왔었습니다. 나는 한국에서 성공할만한 커피 스팟을 알고 있었습니다. 그것은 바로 우리 대학교 안에 있는 지점이었습니다. 우리 대학교는 특수성이 있는데 학생들이 학교 밖을 잘 나갈 수 없는 구조였습니다. 따라서 학교에 오는 배달 음식업체들은 하나같이 큰 돈을 벌고 사업을 확장하는 것을 학생때부터 지켜봐왔습니다.
호주 사장님과 얘기를 하다가 나는 한국 사업에 관한 이야기를 했고 학교측과 연락을 하면서 서로가 윈윈 될 수 있는 전략을 구상했습니다. 학교에 있는 문제 중 하나는 학생들이 공부할 공간이 늘 부족했습니다. 그래서 학생들의 불만은 커져갔지만 학교는 공간 부족으로 그 문제를 해결하지 못하고 있었습니다. 그래서 나는 학교에 내가 사업을 하는 대신 학생들이 공부할 수 있는 공간을 마련하겠다고 제안을 했고 학교측은 그것에 대해 긍정적으로 검토하겠다고 말하고 공개 입찰에 대한 일정을 알려주었습니다. 나는 사장님께 이 기회에 대한 이야기를 해주고 내가 사업을 한다면 얼마의 수입을 보장할 것이며 위험요소는 무엇이고 법적으로 검토할 수 있는 것들에 대해 알려주었습니다. 그리고 나는 3억의 투자금에 대해 오퍼를 받았습니다.
결국 나는 그 오퍼를 거절했지만 그것도 나의 성공중에 일부이고 이후 비슷한 사례로 한국에서 5억의 투자 제안을 받았고 마찬가지의 이유로 또 거절했습니다. 나는 커피 사업을 하면 돈을 벌 자신은 있었지만 행복할 자신은 없었습니다. 내가 하고 싶은 공부를 택해야 겠다는 생각을 했고 이러한 생각에 투자를 해주는 곳이 있어 전액 장학금을 받을 수 있었습니다. 이것이 나에게 가장 큰 성취입니다. 나의 비전중 그들이 반한 것은 내가 한국에 기여하고 싶은 미래가 있기 때문이기도 했습니다.Success on a team
- Tell me about a time you were successful on a team.(How do you work with a team and also cross functional.)
- If you can show that you’ve helped a team move through a challenge, you probably have strong communication and interpersonal skills. These kinds of “soft” skills are in high demand and make people successful in their jobs.
- 내가 엘로이큐브라는 회사에 들어갈때 회사의 새로운 사업에 관한 프로젝트를 맡은 팀에 들어갔습니다. 내가 들어가기전 회사에서ㄴ 보안장비에 관한 rule base automate account management나 contract management와 같은 solution으로 benefit을 만들고 있었습니다. 회사의 대표는 새로운 사업 solution을 통해 다양한 수입원을 보장하고 싶었지만 시도할 인력이 없었고 내가 그 인력으로 뽑혔습니다.
회사에서 그 누구도 사용하지 않았던 ELK스택을 혼자서 배워 새로운 사업에 대한 solution을 planning하기 시작했고 대표님과 3rd party helper와 지속적으로 만나면서 solution을 구축해나갔습니다. ELK를 쓰게 된 이유는 각종 방화벽에서 오는 로그들은 서로 다른 포맷을 가지고 있었기에 NoSQL 데이터 베이스를 사용하는 것이 유리했고 Kibana를 통해 visualization을 시키는 것이 쉬웠기 때문에 선택을 했습니다. 이 각 방화벽에서 오는 log들에 관해 E(xtractor)T(ransformer)L(oader)를 .net Core로 작성했었습니다. 그 이유는 적은 비용으로 윈도우와 리눅스 환경에 모두 작동할 솔루션이 필요했기 때문입니다. 이 솔루션을 통해 client가 효과적으로 방화벽에 관련된 로그들을 관리 할 수 있게 되었습니다. 내가 일 하는 동안, 빠른 속도로 prototype을 만들어 그 solution이 시장에서 먹힐지에 대해 확인 할 수 있게 되었고 이것을 바탕으로 대표님은 새로운 client와 계약을 맺을 수 있었습니다.Surpassed expectation
- Tell me about a time you surpassed people’s expectations.
- Employers want to know they are hiring high quality people. If you have a story about surpassing an expectation, you’ve probably gone above and beyond the call of duty and that’s great thing!
- 내가 호주에서 워킹홀리데이 비자를 가지고 바리스타로 일을 했을 때이다. 매일 아침 5:30분에 매장 오픈을 준비하고 6시에 매장을 오픈하면 아침 노동자들이 커피집에 와서 커피와 호주 파이를 사서 가는게 일상이었다. 아침 7시부터 9시까지 엄청 바쁘고 출근하는 사람들로 벅차서 그 시간대에는 정신없이 커피를 만들어야 했다. 내 일은 빠른 시간내에 주어진 퀄리티의 커피를 만들어 내는 일이었다. 나의 퇴근 시간은 오후 3시였고 오후 시간대에는 to go 손님보다 dine in 손님이 많았다.
사장님은 내가 업무 시간동안 맛있는 커피를 빠르게 만드는 것을 기대했고 나는 이미 그 기대를 충족하고 있었다. 매일 아침 사장님은 나의 커피를 2잔 이상씩 마시면서 그 날 그날의 커피 맛을 평가했고 음미하셨다.
일이 어느정도 익숙해지기 시작하면서 나는 라떼 아트를 연습하기 시작했다. to go 손님들은 사실 라떼 아트를 해도 뚜껑을 덮고, 설탕을 추가했을때 휘저어서 가기 때문에 의미가 없지만 dine in 손님들을 위해서 라떼 아트를 하면 어떨까 생각을 했다. 그들의 컵 위에는 항상 오픈되어 있기 때문에 예쁜 커피를 받는다면 손님들이 더 좋아할 것이라 생각했다. 그리고 매일 to go 커피 위에다가 라떼 아트가 익숙해질때까지 한가한 시간에 연습을 했고 어느 정도 연습이 충분히 되고 예쁜 모습이 나오기 시작할때 직원들에게 커피를 먼저 선보였다. 같은 동료들은 한가한 시간에 자신의 커피를 만들어달라고 나에게 부탁하곤 했었다.
직원들이 나의 라떼 아트를 보고 매우 좋아했다. 그리고 그것을 사장님도 보시고 매우 행복해하셨다. 나는 자신감을 얻어서 손님들 커피에 라떼 아트를 선보이기 시작했다. 결과는 매우 성공적이었다. 그 라떼 아트를 먹기 위해 매일 오는 손님들이 생기기 시작했고 마을에서 내 커피가 유명세를 타기 시작했다. 매출도 지난해에 비해 20% 가까이 늘었다고 사장님이 나에게 말했다. 그 누구도 나에게 시킨적도 없고 나의 주어진 업무에도 속하지 않았지만 내가 하고 싶어서 했고 그 결과 모드의 예상을 벗어나 좋은 효과를 만들었던 경험이 있다.Co-work said about you
- What would your co-workers say about you?
- Interviewer want to know if you’ll fit in with the team. This question can also help you highlight your strengths without feeling like you’re bragging.
- 내 생각에는 동료는 나에게 genuine passtion for cybersecurity and dedicated, hardworking, and sincere라고 해줄 것 같다.
최근 친구의 회사에 추천서를 부탁했는데 친구의 추천서를 나에게 공유해주어 나도 그 친구가 나를 어떻게 생각하는지 알 수 있는 기회가 있었다. 그 친구의 추천서에는 그 친구가 나와 함께 했던 수업과 ctf에서 그러한 것들을 느꼈다고 적었다. 나는 계속해서 ctf에 참가하고 (지난주에도 참가했다) 한국 해커 커뮤니티와 교류를 하는 모습을 본 친구가 genuine passtion for cybersecurity라 할만하다고 생각한다.
dedicated and hardworking은 나와 같이 일해본 사람이라면 내가 주어진 목표가 있을때 팀의 동료로써 얼마나 많이 기여를 하는지 느낄 수 있다. 지난번 회사에서 일을 할 때, 숙제를 할 때에도 항상 나는 그들의 기대치보다 많은 일을 해갔었다. 그러한 결과로 일을 9개월 더 늘릴 수도 있었고 내 친구들은 나와 숙제하는 것을 선호해 항상 나에게 먼저 연락이 와서 팀을 맺기도 했다.Strength
- What is your greatest strength?
- Employers want to see if you can strike the right balance between confidence and humility. Hiring managers also want to get a sense for how self-aware and honest you are and align your strengths to the role at hand.
- 나의 가장 큰 장점은 끊임 없는 도전 정신(constand challenge spirit)입니다. 내가 이 자리에 있는 것이 바로 그 결과입니다.
나는 초등학교때 컴퓨터를 처음 접했고 게임을 좋아했습니다. 그리고 온라인 게임에서 해킹이라는 것을 처음 접했었죠. 그게 너무 흥미로워서 혼자서 공부를 하려고 했었요. 하지만 저희 집안에서는 제가 의사가 되면 좋겠다는 생각을 심어주었고 대학교까지 의대를 가기위한 공부를 했었죠. 그리고 수학 점수는 늘 만점이었지만 영어점수가 낮아서 의대에 들어가지 못했습니다. 그리고 대학생 시절을 보냈죠. 문득 어린 시절의 내가 되고 싶어했던 해커가 생각이 나더라구요. 그리고 컴퓨터 공부를 했고 생명학부에서 CS 학부로 전과를 했습니다. 해커가 되고 싶었어요. 한국은 미국과 다르게 사이버 보안에 관한 문화가 현저하게 차이가 있고 수준이 낮습니다. 인력도 낮고 시장도 낮고 자금도 낮죠. 그렇게 사이버 보안에 대해 잘 아는 사람도, 커리큘럼도, 뭐 아무것도 없었어요.
나는 혼자서 해킹 공부를 하기 위해서 인터넷 검색을 시작했죠. 거기서 나오는 말은 c언어를 공부해라. DS를 공부해라. 네트워크를 공부해라. 이런 기초적인 것들을 알려주었습니다. 그래서 대학교 내내 공부를 했죠. 하지만 뭔가 본질적인 해킹 공부를 하는 방법은 인터넷에 없었습니다. 대학교 교수님을 찾아서 해킹 공부법을 물어봐도 교수님 조차 잘 알지 못했습니다. 그리고 한국에 카이스트라는 대학교에 정보보안학과가 생겨 거기에 있는 사람들과 연락해서 컴퓨터 보안 공부 하는 법을 물어봤습니다. 하지만 제가 원하는 것들이 아니었습니다. 새로운 암호학을 연구하는 집단이었죠. 저는 실질적인 펜 테스트 같은 것을 하고 싶었습니다. 그리고 알아본 결과 미국 대학교에는 컴퓨터 보안 관련된 과가 많고 제가 듣고 싶은 것들이 많더군요.
거기에는 여전히 또 다른 장벽이 있었습니다. 영어라는 문제가 있었고 심지어 gre라는 무시무시한 시험도 있었죠. 정말 해킹 공부를 하고 여기 이 자리에 서기까지 끊임 없이 도전하고 도전해서 조금씩 성취해냈습니다. 영어 때문에 의대를 못갔던 내가 그리고 영어로 3살보다 말을 더 못했던 제가 gre 시험을 치고 2년간 학교에서 남들보다 더 힘들게 영어로 수업을 듣고 영어로 숙제를 하고 영어로 의사소통하며 지금 이 자리에 당신 앞에 서있습니다. 내가 하고 싶은 공부 하나만을 바라보며 지금까지 끊임없이 항상 어려움이 있었던 곳에서 도전을 해오며 왔고 저는 이 회사에 들어온다고 하더라도 멈출 생각이 없습니다.Describe your leadership style.
- Good leaders can explain their values and priorities in a few words. This is a test to see if you can explain yourself. It also helps to determine whether your approach meshes with the company’s own culture.
- strategic thinking based on realistic 와 listener의 기반을 둔 리더십입니다.
대학교 다니던 시절 나는 CRA라는 동아리 회장을 맡고 있었습니다. 우리 동아리에서는 전교생이 쓸 수 있는 커뮤니티를 만들었고 그것을 관리하고 있었습니다. 하지만 기존에 쓰던 것이 보안상에 문제가 많았고 오래된 프레임워크를 써서 자체적인 보안 디자인도 잘 되어 있지 않았습니다. 이것을 쓰는 유저들의 개인정보 보호 조치가 필요할 것 같아서 회장인 나는 그 문제를 해결하기 위해 최신 프레임워크로 새로운 코드와 새로운 디자인으로 다시 웹 애플리케이션을 만들고자 했습니다. 그리고 10명의 개발자를 모았습니다.
우리의 목표는 좀 더 보안이 강화되고 새로운 디자인이 가미되며 새로운 기능이 추가된 새로운 인트라넷을 만드는 것이었습니다.
나는 1년의 목표로 잡았지만 모두가 1년동안 일을 할 수는 없었습니다. 나는 각자가 이 프로젝트에 참가하는 이유를 듣고 회사에 지원할때 이력서를 위해 지원한 친구와 정말 비전이 나와 같은 친구와 그냥 호기심으로 시작하는 친구 모두들의 이야기를 들었고 나는 그들이 원하는 방향대로 일을 진행하려 했습니다. 현실적으로 방학에만 해야 하는 친구들도 있기 때문에 그들에게 맞는 스케줄을 짜고 일을 진행했습니다.
이 가운데 많은 어려움도 있었지만 그때마다 그것을 극복해나가며 팀원들의 의견을 듣고 주어진 시간 내에서 할 수 있는 것과 할 수 없는 것을 분류하는 리더십으로 그 프로젝트를 런칭을 할 수 있게 되었고 모든 팀원들에게 좋은 피드백을 받았습니다.
Show time your leadership
- Tell me about a time you showed leadership
- Employers want to understand your capacity to step up and handle tough situations that undoubtedly arise in the workplace. They want to know when you’ve seen an opening to lean in and lead with good judgment.
- 대학교 다니던 시절 나는 CRA라는 동아리에서 회장을 맡고 있었습니다. 우리 동아리에서는 전교생이 쓸 수 있는 커뮤니티를 만들었고 그것을 관리하고 있었습니다. 하지만 기존에 쓰던 것이 보안상에 문제가 많았고 오래된 프레임워크를 써서 자체적인 보안 디자인도 잘 되지 않았습니다. 이것을 쓰는 학생 유저들은 개인정보에 대한 보호 조치가 없어서 회장인 나는 그 문제를 해결하려 같이 최신 프레임워크를 사용해 새로운 웹 애플리케이션을 만들 사람을 모집했습니다.
10명의 개발자를 모았고 우리의 목표는 좀 더 보안이 강화되고 새로운 디자인의 새로운 니즈가 추가된 인트라넷을 만드는 것이었습니다.
나는 먼저 우리가 이것을 통해 이루고자 하는 비전을 제시했습니다. 단순히 좀 더 보안이 강화되고 예쁜 웹 애플리케이션이 아니라 이 애플리케이션을 통해 학교 구성원이 익명이 유지된 채로 토론을 할 수 있는 공간을 만들고 그러한 일들은 학교에서 투명한 토론 문화를 양성하는데 이바지가 될 것이고 그것은 곧 실력있는 학생들을 길러내고 그 학생들이 세상을 바꾸는데 이바지 할 것이라는 비전을 제시했습니다. 우리 학교의 슬로건은 why not change the world입니다. 비전과 함께 현실적으로 그들이 성장 할 수 있는 기회라는 사실을 알려주고 우리 사이에서 있어야 할 룰, 작업하는 스타일, 웹 애플리케이션에 관한 디자인을 잡아가면서 서로 해야 할 일들에 대해 역할을 분담했습니다.
그 결과 1년이 지난 시점에 우리는 결국 우리가 원하는 것을 만들 수 있었고 제가 처음에 제시한 비전처럼 이후 학생들 사이의 토론 문화가 증진되어 실질적으로 청소 노동력자에 대한 토론이 활발했고 모임이 생기며 그들의 인권을 보호해주어 이전보다 학교에서 더 나은 조건으로 일 할 수 있는 일까지 이어질 수 있었습니다.Give me an example of a time you remedied a problem. What did you learn?
Be an owner - Owners know their business, embracing the good news and the bad. Owners sweat the details and “pick up trash.” Owners think logn term, and spend money wisely.
- 바리스타 이야기. Tell me about a time you surpassed people’s expectations.
Empower others - We believe that unleashing human potential - both inside and outside our company - is the key to our success. Be humble and realize it’s not just about us. Invest in each other.
- 아프리카 이야기
No shenanigans - Always act in an honest, direct, and transparent way.
- 나는 늘 honest한 방식으로 해왔지만 하나의 가정을 들고 그것에 대한 제 가치관에 대해서 이야기해보겠습니다.
만약에 내가 금융회사에서 일하는 보안 직원이라고 가정을하고 data breach가 일어났으면 어떻게 할까요? 솔직히 이 사실을 말하게 되면 나는 책임을 지게 될 것이고 회사에서 짤릴지도 모를 두려움에 떨 수 있을 것입니다. 하지만 말하지 않는다면 그 누구도 모르게 넘어 갈 수 있을 수 있습니다.
이러한 경우에 처한다면 저는 이 사건에 대해 report를 하고 솔직히 알릴 것입니다. 왜냐하면Wear the customer’s shoes - Spend the time to deeply understand customers, and solve problems from their perspective. Earn trust through every interaction.
- 아이택시 이야기
Write it down - Our business is complex, so take the time to express yourself in prose - for your sake, and for the folks with whom you’re collaborating.
- 지금까지 블로그 써온 이야기. 면접 중에 쓰면서 듣기.
Ruthlessly prioritize - Prioritization helps break down complex problems, and provides clarity in the face of uncertainty. Decisions are progress, so make decisions with available information and keep leanring.
- 우선순위 매 프로젝트.
Be bold - We’re driven by a hunger to build a meaningful and impactful company. Embrace crazy ideas and remember, every big idea starts small.
Be inclusive - To achieve our goals, we need a diverse set of voices in the room. Build diverse teams, and seek out unique points of view.
- 대학교 교환학생들 데리고 놀러간 경험
Don’t settle - Expect the best from yourself and others, because there’s no feeling greater than being proud of our work. HIre the best people for every role.
- 나의 강점 이야기. 해킹 공부를 위해 면접자 앞에까지 온 이야기.
My history of employment and what the role had to offer
가장 최근에 일했던 곳은 CableLabs입니다. 제가 맡은 프로젝트는 BGP hijacking 공격을 탐지하는 IDS를 만드는 것이었습니다. 일을 시작하기전 BGP가 뭔지도 몰랐지만 일을 제대로 맡기 전 미리 공부를 많이 했었고 일을 하는 동안에도 주어진 업무 외에 이것에 대해 더 알기 위해 따로 시간을 들여 공부를 했습니다. 그 결과 3개월만에 가시적인 성과를 보여줄 수 있었고 저희 팀 보스에게 프로젝트의 결과를 보여주면서 9개월간 더 일할 수 있는 계약을 체결했습니다. BGP hijacking model에 관한 것을 디자인 한 것 뿐만 아니라 비쥬얼라이제이션을 하여 간단한 웹 서버를 만들어 앞으로 이 프로젝트가 확장 되었을 시 API를 통해 지속적인 개발이 가능한 것을 보여주었고 그래프를 통해 한눈에 어디서부터 어디까지 propagate가 시간대별로 진행되고 있는지를 보여줄 수 있어 단순히 텍스트를 보는 것 보다 모니터링 하는 것이 훨씬 효과적이었습니다.
이전에는 CISCO에서 소프트웨어 엔지너어들을 교육하는 오픈 소스 프로젝트를 맡았습니다. 암호학에 관해서 MD5, SHA1은 왜 쓰면 안 되는지 어떤 해시 알고리즘을 써야 하는지, TLS를 implementation 하는 방법은 무엇인지와 같은 것을 문서화하여 교육하는 역할을 맡았습니다.
When I was working at eloicube in Korea, I developed a firewall management solution. My solution helped people to efficiently manage all the firewalls. It helps to manage a history of settings/rule changes of all firewalls, detects expired policies, over-permitted policies, and long-term non-use policies for optimization to easy to manage the firewalls. As a result, effective management can be achieved with fewer network managers. 방화벽을 만들었을 당시에도 개념을 몰랐지만 항상 내가 모르는 것에 관한 프로젝트를 맡았을 때에는 업무 시간 외에도 그것을 지속적으로 빨리 공부를 하여 주어진 시간 보다 더 빠른 시간내에 팀읨 목표를 달 성 할 수 있었습니다.
Question
- What’s your favorite part about working here at AppFolio? What’s the Team Culture like? How’s your journey and transition been starting from A to B and now to C. When I look at your carrier path, you also started to blue team jobs which I’ve some sort of experience. So I was curious to know more about your journey so far.
- What’s the single biggest challenge you’re facing today during this current pandemic from a security standpoint. Taking into account that COVID-19 crisis have shifted cybersecurity priorities and budgets, and also with the rise in the supply chain attacks, the focus of the CISO’s is to prioritize situations related to remote work and business continuity.
- Do you envision a bug bounty program evolving at AppFolio over the next couple of years?
- What are the most important things you’d like to see someone accomplish in the first 30, 60, and 90 days on the job?
- Are there any questions I can answer for you?
구글
리더쉽과 technical leadership, people leadership에 대해 묻는다 불분명할때 나는 빛을 발한다. know / know 내가 모르는 것을 모를 때가 있다. 내가 뭘 모른다는 것을 알 때. 달에다가 서버를 짓고 달에다가 지메일 서비스를 할꺼야. 이때 어떤식으로 이것을 해결하는지.
다른 사람이 나한테 조언해준 것을 존중한다.(선배님께서 피드백에서 나의 장점을 이것으로 보여줬다.)
나는 지금까지 피드백이 어떤식으로 왔고 어떻게 존중했는지 표현 잘해봐야한다.
솔직하게 얘기하되 결말이 안 좋았던가 결론적으로는 잘못했다라는 식으로 끝나지 말고 모든 것을 얘기하면 안 된다. 배우고 그것을 이후에 사용했는 맥락이 나오는 것이 좋다. 그리고 그 결과에 대한 구체적인 증명으로 보여주는게 좋다. 배워서 같은 팀 내에서 적용하는 것이 좋았다.
현재 상황에서 효과적으로 도전을 한다. effectively challenging
성장하는 것에 있어서 거스러움을 받아들이는 것에 두려움을 느끼지 않지만 지혜롭게 해야한다.
유저를 우선순위에 둔다.
올바른 것을 한다.
팀 멤버들을 생각한다.
못푸는 문제가 나올 수 있을때까지 계속 물어본다. 문제는 보통 40분에서 2,3개가 나온다. 첫번째는 쉬웠다가 이후에는 어려운 것 계속 나온다. 2번째 문제까지만 잘 풀어도 좋은 점수를 준다. 완벽하게 풀지 못해도 젤 중요한 부분만 옵티마이제이션을 잘 하면 점수를 잘 준다.
이전 인터뷰와 이후 인터뷰는 아무 관련이 없다. 인터뷰 하나 망했다고 최선을 다 하는게 중요하다. 모든 인터뷰는 독립적이다.
캐미가 좋은 사람이 있어서 끝까지 나를 끌고 가는 사람이 있어주면 뽑힐 수 있다.
6단계가 있다. 꼭 봅아야되 1,2명이 있으면 뽑힐 확률이 높다. 뽑아야되 뽑으면 좋아 안 뽑으면 좋아 절대 뽑으면 안 되에 뽑히면 다른 사람이 아무리 좋아도 안 뽑힐 수 있다.
하나하나에 집중을 해서 하나라도 좋은 점수를 받는게 좋다. 태도도 정말 중요하다.
지적을 해줄때에는 항상 고맙다고 얘기하고 존중을 표현해라. 해쉬테이블은 무조건 언급하는 것이 좋다. O(1)으로 만드는 마법이니깐 binary search 정도 생각해봐라.
남들이 쿨하게 생각하는 라이브러리를 쓰면 쿨하게 본다.
디폴트 딕셔너리를 자주 사용하셨다. 이것을 모르는 사람들이 많았는데 디폴트 딕셔너리를 네스트리로 재정의 해서 다시 사용하시면 좋아한다. 디폴트 벨류가 정의된 딕셔너리. 그것을 네스티드로 바꿔서 쓸 수 있다. 딕셔너리를 x에 키가 10인데 10에 대한 벨류가 네스트로 정의 할 수 있는데 그것을 알아보면된다.
일관성이 필요하다. 코드를 짤 때에는 일관성이 있어야 한다. 코드가 안 읽히면 점수가 깎인다.
이름이 길더라도 의미가 있는 변수명으로 짜는 것이 좋다.
work throgth 하는 연습도 많이 해라. 이 예시를 가지고 워크트루 할 수 있니라고 물어볼 수도 있고 내가 먼저 발렌티어로 예시에 관해서 work thorough를 하는게 좋다. 코너 케이스를 생각해서 3가지 예시를 가지고 work thorugh를 해볼께라고 하면 좋은 점수를 줄 수 있다.
수도 코드가 아니라 바로 돌아가는 코딩을 써야된다. 진짜 코드를 바로 돌릴 수 있는 것을 해야 한다.
문제가 어려우면 어려울수록 나는 내 재능을 더욱 돋보일 수 있다. 문제조차 파악이 안 될 수 있을때 빛을 발 할 수 있는 사람이다. 그런 예를 들어야 한다. 경험 위주로 대답해야 한다.
user respect를 해야한다. 인트라넷에 대해서 얘기를 하면 된다. 리스펙트를 했는 것에 대해서 이야기해야 한다. 인트라넷 시큐리티 보안할때 학생들의 존중하기 위해 이걸 보강했다. 고객들을 보강해아한다. 주어진 문제에 대해서 더욱 포커스 해야하는게 좋다.
Given an array of integers nums and an integer limit, return the size of the longest non-empty subarray such that the absolute difference between any two elements of this subarray is less than or equal to limit.
Example 1:
que는 첫번째것만 보기 위해서 필요하다.
max_que = [6] if 새로 들어온 것이 있을때 기존 값이 새로운 값보다 작으면 다 지운다. 지울때는 마지막에서부터 하나하나 살펴본다. min_que = [1, 2, 3, 4, 5, 6] if 새로 들어어온 것이 있을때는 그거보다 큰 값들은 다 지운다.
탈락 기준 : max_que[0] - min_que[0] > limit ==> left window++ 기준이 충족된다면 max_que나 min_que에 탈락되는 값이 (0번째 위치에) 있으면 그것을 지운다.
sub string문제를 풀때는 2 pointers 방식을 생각해라. 2 포인터의 장점은 무조건 O(2*n)이다. l과 r이 전부다 끝까지 갈 수 있으니깐.
백트래킹 ==> DFS 피보나치 0, 1, 1, 2, 3, 5, 8, …
변수 2개(어떤 숫자가, 몇 번) {2:3, 3:4} [4,6,2,2,2,4,3,3,3,3,2,1,2,5,7,4] limit = 4
벽 ::= 윈도우 Input: nums = [8,|2,4|,7], limit = 5 Output: 2 Explanation: All subarrays are: [8] with maximum absolute diff |8-8| = 0 <= 4. [8,2] with maximum absolute diff |8-2| = 6 > 4. [8,2,4] with maximum absolute diff |8-2| = 6 > 4. [8,2,4,7] with maximum absolute diff |8-2| = 6 > 4. [2] with maximum absolute diff |2-2| = 0 <= 4. [2,4] with maximum absolute diff |2-4| = 2 <= 4. [2,4,7] with maximum absolute diff |2-7| = 5 > 4. [4] with maximum absolute diff |4-4| = 0 <= 4. [4,7] with maximum absolute diff |4-7| = 3 <= 4. [7] with maximum absolute diff |7-7| = 0 <= 4. Therefore, the size of the longest subarray is 2.
class Solution { public: int longestSubarray(vector
시간이 짧아서 시간을 지혜롭게 써야된다. 얘기하고 싶은게 있으면 인터뷰 끝나고 얘기할 수 있도록 하는게 좋다. 아이스 브레이킹은 절대로 5분 넘어서는 안 되고 2분 안이 좋다. 인터뷰에서 지각이 크면 혹은 심각한 문제가 있으면 리쿠루터에게 알려줘야한다.
피드백으로 드로잉 하고 싶었는데 못했다 남기기