Blog

[Problems] Summary of Problems on Stacks and Queues for Interviews and Self Assessments

Below are some of the problems based on stacks and queues. You will also find applications of stacks and queues in other sections such as Trees and Graphs.

 

Important Points to Remember 

  1. Stack uses the LIFO (Last In First Out) ordering.

  2. Queue uses the FIFO (First In First Out) ordering.

 

Important Points to Revise

  1. Arrays, Linked Lists

 

Problems

  1. Implement a stack

  2. Implement a queue

Linked List, Tree and Graph Node Definitions in Java

Basic building blocks of a linked data structure like linked list, trees, binary trees and graphs are nodes. All these data structures can be considered as a connection of these nodes. The structure of these nodes and how they are connected differ for different data structures. Hence to work with these data structures in Java, you need to understand their node structure first.

Here is a summary of nodes and their most commonly used structure, defined in Java.

 

What to Avoid in Your Design

This note will list few things you should try to avoid in your design. Please also see notes on SOLID Principles and summary of additional design principles and best practices.

  1. Run-Time Type Identification (RTTI)

    • Design that require you to check for the actual type of the reference object should be avoided (e.g. if(type(something) = something, do something). 

  2. Cyclomatic complexity (CC)

SOLID Principles of Design

SOLID is a mnemonic acronym introduced by Michael Feathers for five of the principles named by Robert C. Martin, and when applied together, these intend to make it more likely that a programmer will create a system that is easy to maintain and extend over time.

  1. (++) Single responsibility principle (SRP)

    • Every class should have a single responsibility, and that responsibility should be entirely encapsulated by the class. All its services should be narrowly aligned with that responsibility. 

Big Data and Data Science

Any discussion about Big Data will not be complete without discussing about Data Science and its relation with Big Data. Data Science can be considered as the extraction of knowledge from large volumes of data that are structured (e.g. RDBMS, Excel) or unstructured (e.g. emails, videos, photos, social media, and other user-generated content). Data Science may be considered as a continuation of the field of data mining and predictive analytics.

Pages

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)