FreeTalk
2015.03.25 17:26
[번역] 경력 소프트웨어 기술자를 위한 새로운 면접 질문들
조회 수 974 댓글 0
원문: New Interview Questions for Senior Software Engineers
주로 Java 쪽에서 아키텍쳐링이나 모델링을 했던 개발자들에게 유용한 면접 질문일 것으로 생각된다.
- What is something substantive that you’ve done to improve as a developer in your career?
당신 경력에서 개발자로서 향상시키기 위해 해 왔던 중요한 것은 무엇인가요? - Would you call yourself a craftsman (craftsperson) and what does that word mean to you?
당신 자신을 장인이라고 부르나요? 그러면 그 단어는 당신에게 무슨 의미가 있나요? - Implement a <basic data structure> using <some language> on <paper|whiteboard|notepad>.
<종이|칠판|노트패드>에 <어떤 언어>로 <기본적인 자료 구조>를 구현해보세요. - What is SOLID?
SOLID는 무슨 의미인가요? - Why is the Single Responsibility Principle important?
왜 단독 책임 원칙이 중요한가요? - What is Inversion of Control? How does that relate to dependency injection?
제어의 역전이 무슨 의미인가요? 어떻게 의존성 주입에 관련되어 있나요? - How does a 3 tier application differ from a 2 tier one?
3 계층 애플리케이션은 2 계층 애플리케이션과 어떻게 다르죠? - Why are interfaces important?
왜 인터페이스가 중요한가요? - What is the Repository pattern? The Factory Pattern? Why are patterns important?
저장소 패턴은 무엇인가요? 팩토리 패턴은? 왜 패턴이 중요하죠? - What are some examples of anti-patterns?
반-패턴의 대표적인 예는 무엇인가요? - Who are the Gang of Four? Why should you care?
Gang of Four는 누군가요? 왜 신경써야 할까요? - How do the MVP, MVC, and MVVM patterns relate? When are they appropriate?
MVP, MVC, MVMM 패턴은 어떻게 연관되어 있나요? 언제 적절한가요? - Explain the concept of Separation of Concerns and it’s pros and cons.
관심의 분리의 개념과 그것의 찬반에 대해서 설명해보세요. - Name three primary attributes of object-oriented design. Describe what they mean and why they’re important.
객체지향 설계에서 3가지 주요 속성의 이름을 대 보세요. 그게 무슨 의미인지, 왜 중요한지 서술해보세요. - Describe a pattern that is NOT the Factory Pattern? How is it used and when?
팩토리 패턴이 아닌 다른 패턴 하나를 서술해보세요. 언제 어떻게 사용되죠? - You have just been put in charge of a legacy code project with maintainability problems. What kind of things would you look to improve to get the project on a stable footing?
유지보수 문제가 있는 레거시 코드 프로젝트를 맡게 되었다면 프로젝트를 안정적인 기초 위에 놓기 위해 향상시키기 위해 어떤 종류의 것들을 고려할 것인가요? - Show me a portfolio of all the applications you worked on, and tell me how you contributed to design them.
당신이 일했던 모든 애플리케이션들의 포트폴리오를 보여주세요. 그리고 그것들을 설계하기 위해 당신이 어떻게 공헌했는지 말해주세요. - What are some alternate ways to store data other than a relational database? Why would you do that, and what are the trade-offs?
데이터를 저장하기 위해 관계형 데이터베이스 이외의 대안 몇가지가 뭐가 있을까요? 왜 그걸 사용하죠? 그리고 트레이드-오프는 무엇일까요? - Explain the concept of convention over configuration, and talk about an example of convention over configuration you have seen in the wild.
“Convention over configuration의 개념을 설명해보세요. 그리고 실전에서 봤던 예제에 대해서 말해보세요. - Explain the differences between stateless and stateful systems, and impacts of state on parallelism.
stateless와 stateful 시스템의 차이점과 상태가 병렬화에 주는 영향에 대해서 설명해보세요. - Discuss the differences between Mocks and Stubs/Fakes and where you might use them (answers aren’t that important here, just the discussion that would ensue).
Mock과 Stub/Fake의 차이점과 어디서 사용할 수 있는지 논해보세요. - Discuss the concept of YAGNI and explain something you did recently that adhered to this practice.
YAGNI의 개념에 대해서 논하고, 이 실습에 집착하기 위해 최근에 했던 것들을 설명해보세요. - Explain what is meant by a sandbox, why you would use one, and identify examples of sandboxes in the wild.
샌드박스가 의미하는 바와 왜 샌드박스를 사용하는지 설명하세요. 그리고 실전에서 샌드박스의 예를 들어보세요. - Concurrency
동시성 - What’s the difference between Locking and Lockless (Optimistic and Pessimistic) concurrency models?
동시성 모델에서 Locking과 Lockless (Optimistic/Pessimistic)의 차이점은 무엇인가요? - What kinds of problems can you hit with locking model? And a lockless model?
Locking 모델에서 어떤 종류의 문제점을 만나게 되나요? Lockless 모델에서는? - What trade offs do you have for resource contention?
자원 경쟁을 위해 가지게 되는 트레이드-오프는 무엇인가요? - How might a task-based model differ from a threaded model?
작업 기반 모델이 thread 모델과 어떻게 다를 수 있나요? - What’s the difference between asynchrony and concurrency?
비동기성과 동시성의 차이점은 무엇인가요? - Are you still writing code? Do you love it?
당신은 여전히 코드를 작성하고 있나요? 그걸 좋아하나요? - You’ve just been assigned to a project in a new technology how would you get started?
당신이 새로운 기술이 필요한 프로젝트에 배정되었다면 어떻게 시작할 겁니까? - How does the addition of Service Orientation change systems? When is it appropriate to use?
서비스 지향의 추가가 시스템들을 어떻게 변화시키나요? 언제 사용하는 게 적절할까요? - What do you do to stay abreast of the latest technologies and tools?
최신 기술과 도구에 뒤떨어지지 않기 위해 무엇을 합니까? - What is the difference between “set” logic, and “procedural” logic. When would you use each one and why?
집합 로직과 절차적 로직 사이의 차이점은 무엇인가요? 각각을 언제, 그리고 왜 사용합니까? - What Source Control systems have you worked with?
어떤 소스 제어 시스템을 가지고 일하고 있습니까? - What is Continuous Integration? Have you used it and why is it important?
연속적인 통합(CI)이 무엇인가요? 사용해 본 적이 있나요? 그리고 왜 중요할까요? - Describe a software development life cycle that you’ve managed.
당신이 다루는 소프트웨어 개발 생명 주기(life cycle)을 설명해보세요. - How do you react to people criticizing your code/documents?
사람들이 당신의 코드와 문서를 비판하는 것에 어떻게 반응합니까? - Whose blogs or podcasts do you follow? Do you blog or podcast?
누구의 블로그나 팟캐스트를 구독하죠? 당신이 직접 블로그나 팟캐스트를 하나요? - Tell me about some of your hobby projects that you’ve written in your off time.
당신이 업무 외 시간에 작성한 취미 프로젝트에 대해 말해보세요. - What is the last programming book you read?
마지막으로 읽었던 프로그래밍 책은 무엇인가요? - Describe, in as much detail as you think is relevant, as deeply as you can, what happens when I type “cnn.com” into a browser and press “Go”.
브라우저에 “cnn.com”이라고 입력하고 “Go”를 눌렀을 때 무슨 일이 발생하는지, 당신이 생각하기에 적절한 만큼 자세히, 당신히 할 수 있는 만큼 깊게 설명해보세요. - Describe the structure and contents of a design document, or a set of design documents, for a multi-tiered web application.
다층(multi-tier) 웹 애플리케이션을 위한 설계 문서의 구조와 내용에 대해 설명해보세요. - What’s so great about <cool web technology of the day>?
<오늘 날의 멋진 웹 기술>이 뭐가 그렇게 대단한 걸까요? - How can you stop your DBA from making off with a list of your users’ passwords?
DBA가 사용자들의 패스워드 리스트를 훔쳐내는 것을 어떻게 막을 수 있을까요? - What do you do when you get stuck with a problem you can’t solve?
풀 수 없는 문제에 붙잡혔을 때 무엇을 할 건가요? - If your database was under a lot of strain, what are the first few things you might consider to speed it up?
당신의 데이터베이스에 부하가 많이 걸려 있는 상황이라면 속도를 향상시키기 위해 고려해볼 수 있는 처음 몇 가지는 무엇인가요? - What is SQL injection?
SQL 삽입이 무엇인가요? - What’s the difference between unit test and integration test?
단위 테스트와 통합 테스트 사이의 차이점은 무엇인가요? - Tell me about 3 times you failed.
실패했던 3번의 사례를 말해보세요. - What is Refactoring ? Have you used it and it is important? Name three common refactorings.
리팩토링은 무엇인가요? 사용해본 적이 있나요? 중요한가요? 공통적인 리팩토링 3가지를 대보세요. - You have two computers, and you want to get data from one to the other. How could you do it?
두 개의 컴퓨터가 있고 하나로부터 다른 쪽으로 데이터를 보내고 싶은데 어떻게 할까요? - Left to your own devices, what would you create?
당신 소유의 장치 없이 무엇을 만들 겁니까? - Given Time, Cost, Client satisfaction and Best Practices, how will you prioritize them for a project you are working on? Explain why.
시간, 비용, 고객 만족, 모범 숙련(사례)을 고려해 볼때, 당신이 일하고 있는 프로젝트를 위해 어떻게 우선 순위를 매길 겁입니까? 왜 그런지 설명해보세요. - What’s the difference between a web server, web farm and web garden? How would your web application need to change for each?
하나의 웹 서버와 웹 농장(web farm), 웹 정원(web garden)의 차이점은 무엇인가요? 웹 애플리케이션이 각각을 위해 어떤 식으로 변화가 필요할까요? - What value do daily builds, automated testing, and peer reviews add to a project? What disadvantages are there?
일일 빌드, 자동화된 테스팅, 상호 검토가 프로젝트에 어떤 가치를 부여할까요? 어떤 불이익이 있을까요? - What elements of OO design are most prone to abuse? How would you mitigate that?
OO 설계의 어떤 요소들이 가장 남용되기 쉬울까요? 그걸 어떻게 완화시킬 수 있을까요? - When do you know your code is ready for production?
언제 당신의 코드가 상품화 준비가 되는지 알 수 있죠? - What’s YAGNI? Is this list of questions an example?
YAGNI는 무엇인가요? 이 질문 목록이 하나의 예제가 되나요? - Describe to me some bad code you’ve read or inherited lately.
당신이 요즘 읽었거나 상속받은 나쁜 코드를 서술해보세요.
[출처] http://terzeron.net/wp/?p=2794
-
어느 주갤러의 인생 조언
예쁜 여자가 잘해주면 의심하라. 네게 필요한 여자가 되기 위해서가 아니라, 네가 잠깐 필요해서다. 리더가 칭찬하면 의심하라. 너를 인정하는 것이 아니라, 네가 만만한 것이다. 팀원이 밥값 내면 절망해라. 너한테는 밥도 얻어먹기 싫다는 얘기다. 돈 굳은... -
단재-신채호님의 불세출의 명언
우리나라에 부처가 들어오면 한국의 부처가 되지 못하고 부처의 한국이 된다. 우리나라에 공자가 들어오면 한국을 위한 공자가 되지 못하고 공자를 위한 한국이 된다. 우리나라에 기독교가 들어오면 한국을 위한 예수가 아니고 예수를 위한 한국이 되니, 이 ... -
잘려고 하면 꼭 이런다 ㅋㅋ
잘려고 누우면 갑자기 뭔가 생각이 떠오름 ㅋㅋ - 뇌 : 잘거야? - 나 : ㅇㅇ 이제 닥쳐. - 뇌 : 프로그램 디버깅 할 방법을 찾은거 같은데.. - 나 : ⊙⊙ <!-- Are you going to sleep? Yes I am. Now shut up. I think I figured out how to debug your program. -
미국 드론 온라인 등록 및 운용 구제 (외국인/방문객 포함)
# 무인 항공기 (UAS; Unmanned Aircraft System) 드론(Drone)으로 잘 알려진 무인 항공기는 사람이 타지 않고 무선전파의 유도에 의해서 비행하는 비행기나 헬리콥터 모양의 비행체이다. 처음에는 주로 군에서 표적·정찰·감시용으로 사용되다가 점차 활용 범... -
당신의 정을 아까워하지 않는 이에게 더 이상 사랑을 주지 마라.
당신의 정을 아까워하지 않는 이에게 더 이상 사랑을 주지 마라. 그 사람은 그냥 그 정도였을 뿐이었고 그냥 그 정도만 주면 되는 것이다. 사랑 받아야 하는 사람은 사실 당신이니까.. - Read More
-
[click] 사람마다 다른 생각 차이
그림에서 연관된 두 가지를 선택하세요. 그리고 그 이유를 말해보세요. .quizButton { background-color:#4473c5; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; border:1px solid #3c5894; display:inline-block; cursor:pointe... -
No Image
[번역] 경력 소프트웨어 기술자를 위한 새로운 면접 질문들
원문: New Interview Questions for Senior Software Engineers 주로 Java 쪽에서 아키텍쳐링이나 모델링을 했던 개발자들에게 유용한 면접 질문일 것으로 생각된다. What is something substantive that you’ve done to improve as a developer in your caree... -
어느 교수의 강의 시작 전 이야기
어느 교수의 강의 시작 전 이야기 행복은 금요일 아침 같은 것.. 완전 공감.. #원문 <교수님이 말해주신 행복의 정의와 공부를 하면서 행복할 수 있는 이유..> 여러분 금요일이 좋아요, 일요일이 좋아요? 이것만 얘기해 보세요. (금요일이요) 학교가는데? 금요... -
인생에서 돈과 지식
돈과 책의 삶 돈만 많이 있는 사람은 세상을 보지 못하고, 돈이 없지만 지식이 있다면 세상을 보는 눈이 생기고, 돈과 지식의 수준이 같다면 세상의 이치를 알 수 있고, 무엇 하나 없다면 ㅂㅅ 이다..? 근데 돈 많으면 누워서도 볼 수 있잖아? ㅋㅋ [관련자료]... -
한국이 IT 강대국이라고..?
LTE, 5G, ... 세계 최초 상용화? 이런 기사 제목은 마치 LTE, 5G, ... 그런 기술들을 최초로 만든 것 처럼 보이게 한다. 언론이나 주변 지인들은 그래서 한국이 IT 강대국이라고 말하곤 하는데 내 생각에 한국은 그냥 IT 테스트배드/마루타일 뿐이다. 왜냐면 ... -
확장된 iOS8 스포트라이트 검색 “우리나라는 아직…”
iOS 8 업데이트에 맞춰 아이폰·아이패드 내부 검색 기능인 스포트라이트(Spotlight)도 강화되었습니다. 예전에는 내부에 저장된 연락처나 이메일, 메모, 음악이나 동영상만 찾아줬지만 iOS 8부터는 검색어와 관련된 정보를 인터넷에서 찾아 보여 줍니다. 바로...