In the last year, I decided to separate from earlier company and started
looking for job opportunities.
As my overall experience in the product
based companies and interested in only product based company like Philips,
Amazon, GE , Harmon, ABB, Fluke, Morgan Stanley etc.
By giving interviews to some of the above companies, got to know what
companies expect from 7+ years of experience. So decided to share technical
expectations so it can help others who is looking other opportunities.
1. Strong in OOPS - Inheritance, Polymorphism, Encapsulation and
Abstraction.
Clear difference between the Encapsulation
and Abstraction is very important with examples.
2. Identifying objects/Classes when designing any system like
implementing PayRoll System, Calculator, TicTacTo game etc.
3. UML concepts : Association, Composition and Aggregation with
examples. Required to know Activity, Sequential and class diagrams.
4.SOLID Principles in/out everything: Clear understanding of Liskov
Substitution and Dependency inversion principle. Apart from DIP, Inversion of
Control and Some IOC containers(DI injects) like Unity, NInject or MEF any one
of clear understanding.
5. Design pattern : To explain design pattern, intent of pattern means
what problem it is supposed to solve and difference between the
patterns(Factory v/s Abstract Factory) is very important.
Some required patterns are: Singleton(difference with static class),
factory, Abstract factory, Builder, Adapter, Facade(v/s Controller),
Decorator(v/s Normal inheritance), Strategy, Repository, Unit of Work and
visitor.
Architectural patterns : MVC, MVP, MVVM and layered Architectures.
UI layer, Workflow, Business, Data Access layer and Cross cutting
concerns responsibilities and communication between these layers.
In the following links Design patterns are explained bit well.
6. For .Net framework- Required to read the CLR via C# by Jeffery
Ritcher and WPF by Adam Nathan.
Be aware of latest release of new features in .Net 4.6.1 and WPF4.5
CLR and memory management is very important :)
7. Memory profiler : DotTrace or PerformanceMonitor(any one).
8. Data Structures : List, Stack, Queue,
Tree, Graph and HashTable (Collision techniques).Some problems based on that.
We can practice using the following links:
9. Unit Testing Framework : NUnit with Rhino mocks/Moq.
Clear understanding of Stub vs Mocks
10. Managerial Round : last but not least
·
How to gather requirements(Feature Specifications)
·
How to start the project from scratch (Basic Infrastructures)
·
How will ensure that your software is ready?
·
After getting into the project , how to start learning the big system.
·
UX and UI- How you take care.
·
Last project worked Architecture (very important)
·
Types of tests and How unit and Integration tests will help.
·
How you mentor new joinee.
·
Some random questions.....
Hope this might help to somebody in small world :)
Please let me know , if any good links to learn more things.