Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

Perguntas para um desenvolvedor senior


Estas perguntas foram publicadas pelo Scott Hanselman aqui, e estou copiando-as aqui, pois realmente são muito boas.Se você se acha mesmo um desenvolvedor senior, imagine-se numa entrevista sendo indagado sobre elas e respondendo sem gaguejar e sem googlar (como você deve estar fazendo agora):- What is 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? - 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? - How do the MVP, MVC, and MVVM patterns relate? When are they appropriate? - 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. - 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. - Explain the differences between stateless and stateful systems, and impacts of state on parallelism. - 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). - Discuss the concept of YAGNI and explain something you did recently that adhered to this practice. - 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 concurrency models? - What kinds of problems can you hit with locking model? And a lockless model? - What trade offs do you have for resource contention? - How might a task-based model differ from a threaded model? - 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? Your thoughts? I'll add good questions from the comments throughout the day.E aí? Quantas googladas você deu?

Abraços, Vinicius Quaiato.

Voltar

Fork me on GitHub