Skip to main content

Important Topics for Java Technical Interview

Problem Solving Skill
  • 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.
Coding
- the code you write should be
  1. Logical
  2. Syntax - syntactically correct
  3. Modular & Maintainable - 
    1. function declarations 
    2. function returns
    3. initialization
    4. scope of variables
    5.  recursion
  4. Executable
  5. Testable - very well tested and should have checks 
    1. provide checks to prevent bad input
    2. validate corner/edges cases.
    3. validate null cases
    4. should take care of happy cases
  6. Optimized
    1. pointer manipulation
    2. Space and Time complexity
Data Structures
- Get thorough understanding of Data Structures -
  1. Trees, 
  2. Binary Trees, 
  3. Hash map, 
  4. Set, 
  5. Hash tables, 
  6. Arrays, 
  7. Queues, 
  8. Stacks, 
  9. Linked Lists, 
  10. Tree Traversals 
  11. 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
  1. Overloading vs. Overriding.
  2. Encapsulation and inheritance.
  3. Inheritance and polymorphism
  4. HLD (Component wise segregation)
  5. LLD (Class & sequence diagram)
  6. Design patterns. Design tool if you’ve worked on any.

Low Level & High Level Design
- Design patterns

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


Comments

Popular posts from this blog

Career Advise for people looking for better opportunities

What should i do to move further in my career also how should i go about finding much better opportunities in other firms to progress in this field? Keep performing well in your current organization. don't stop learning new things this will help you in both looking for better opportunities and in doing good in your current role. Provide suggestions for improvement in current project & process to your peers and senior. try to understand beyond your daily tasks and engage actively in constructive discussions to learn more. I am currently working on Service Virtualization. What should i do to move further in my career in this field ? container orchestration, data center management and automation are hot topics invest in upgrading your skills in this direction will definitely be valuable. To enhance my technical skills I actually have started with python . But I don't get a definite direction on how to start. I read it I understand but I don't get what to I have t

Tips for Manager for conducting effective 1-on-1 meetings with their team members

1. The 1-on-1 meetings should be scheduled in advanced consistently and regularly (usually weekly or fortnightly). The meeting need not have to be in conference room, the location could be changed frequently to trigger more creativity. 2. Let the team member drive 75% of the agenda for this meeting, and the manager should be using the remaining 25%.  The meeting could be  3. Manager should use this as an opportunity to build a strong rapport and help each other in becoming more effective.  4.  Manager should use this meeting to establish trust with the team member and to enable them percieve this meeting as a safe space to speak openly. 5. The manager should also encourage team members to talk more about career goals.  6. Manager should make their team members understand that their manager is always there to support you and encourage team members to talk about activities where they are struggling and need help. 7. The manager should be providing frequent feedback with specif