Problem Solving Skill
- the code you write should be
- Get thorough understanding of Data Structures -
References:
Algorithms
- Traversals, divide and conquer. breadth first search, and depth first search.
- Sorting
- Merging
- Search Algorithms
Object Oriented Design
extensible, long lived code, bug free.
Databases
- relational and non-relational databases
Distributed Computing
- scaling
- distributed computing concepts
- service oriented architecture
- map-reduce
- distributed caching
- load balancing
Operating Systems
- memory management
- processes,
- threads / multi-threading
- synchronization,
- paging
- Ask more clarifying question and be receptive to hints provided by the interviewers.
- Articulate and express thoughts clearly & crisp.
- Make the interviewing experience more interactive.
- Should be able to deal with ambiguity
Java Programming Language
- you should be able to write syntactically correct Java code with pen and paper.
- Familiarize yourself with key concepts like memory management, collections other key libraries.
- the code you write should be
- Logical
- Syntax - syntactically correct
- Modular & Maintainable -
- function declarations
- function returns
- initialization
- scope of variables
- recursion
- Executable
- Testable - very well tested and should have checks
- provide checks to prevent bad input
- validate corner/edges cases.
- validate null cases
- should take care of happy cases
- Optimized
- pointer manipulation
- Space and Time complexity
- Get thorough understanding of Data Structures -
- Trees,
- Binary Trees,
- Hash map,
- Set,
- Hash tables,
- Arrays,
- Queues,
- Stacks,
- Linked Lists,
- Tree Traversals
- BFS and DFS.
- Use Google & Wikipedia for brushing up on data structures.
References:
Algorithms
- Traversals, divide and conquer. breadth first search, and depth first search.
- Sorting
- Merging
- Search Algorithms
Object Oriented Design
extensible, long lived code, bug free.
OOPS
- Overloading vs. Overriding.
- Encapsulation and inheritance.
- Inheritance and polymorphism
- HLD (Component wise segregation)
- LLD (Class & sequence diagram)
- Design patterns. Design tool if you’ve worked on any.
Low Level & High Level Design
- Design patternsDatabases
- relational and non-relational databases
Distributed Computing
- scaling
- distributed computing concepts
- service oriented architecture
- map-reduce
- distributed caching
- load balancing
Operating Systems
- memory management
- processes,
- threads / multi-threading
- synchronization,
- paging
Comments
Post a Comment