Sunday, December 1, 2024

INTERVIEW Additional questions

Design pattern in java


Design Patterns

https://www.journaldev.com/1827/java-design-patterns-example-tutorial#strategy-pattern https://www.journaldev.com/1827/java-design-patterns-example-tutorial#template-methodpattern https://www.journaldev.com/1827/java-design-patterns-example-tutorial#builder-pattern https://www.journaldev.com/1827/java-design-patterns-example-tutorial#decorator-pattern https://www.geeksforgeeks.org/singleton-design-pattern/ https://www.geeksforgeeks.org/abstract-factory-pattern/ https://dzone.com/articles/factory-method-vs-abstract http://www.codespaghetti.com/java-design-pattern-interview-questions/

Code Smells 
http://www.programmergirl.com/identifying-code-smells-java/ 

Code Coverage
 https://www.atlassian.com/continuous-delivery/software-testing/code-coverage

Mocking

 https://www.softwaretestinghelp.com/mockito-inteview-questions/ https://examples.javacodegeeks.com/core-java/powermockito/powermockito-tutorialbeginners/ https://www.youtube.com/watch?v=8S8o46avgAw

Unit & Integration Testing 

https://www.toptal.com/java/unit-integration-junit-tests

 SOLID 





Ports and Adapters

 https://www.thinktocode.com/2018/07/19/ports-and-adapters-architecture/ https://medium.com/@codespeaks/a-quick-and-practical-example-of-hexagonal-architecturein-java-7334e7f2ad43


Git 

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow https://www.freecodecamp.org/news/an-introduction-to-git-merge-and-rebase-what-theyare-and-how-to-use-them-131b863785f/

 Jenkins

 https://www.youtube.com/watch?v=7KCS70sCoK0

 Sonar 

https://www.youtube.com/watch?v=BuT1Ji0P9Ug 

Test Driven Development (TDD) 

https://hackernoon.com/introduction-to-test-driven-development-tdd-61a13bc92d92 https://www.youtube.com/watch?v=y8TcPr73Bwo https://www.youtube.com/watch?v=s9vt6UJiHg4 http://aspiringcraftsman.com/2012/04/01/tdd-best-practices-dont-mock-others/ https://github.com/testdouble/contributing-tests/wiki/Don't-mock-what-you-don't-own 

Behavior Driven Development (BDD) & JBehave 

https://www.youtube.com/watch?v=VS6EEUVZGLE https://www.toptal.com/freelance/your-boss-won-t-appreciate-tdd-try-bdd https://www.youtube.com/watch?v=kNieSSoynW4 https://www.youtube.com/watch?v=eV7kBt89pWU https://www.youtube.com/watch?v=dmqkCS8sPL4


DDD 


JWT



OAuth  and its types

https://www.youtube.com/watch?v=996OiexHze0

 OWASP 


Spring Security 

https://www.youtube.com/watch?v=X80nJ5T7YpE 
https://www.youtube.com/watch?v=Dbxzw0cpxBU


Spring scopes

Exception Handling 

https://stackify.com/best-practices-exceptions-java/ https://www.baeldung.com/exception-handling-for-rest-with-spring https://www.toptal.com/java/spring-boot-rest-api-error-handling

 Spring Cloud 

https://www.baeldung.com/intro-to-feign https://nirajsonawane.github.io/2019/03/21/Simplifying-Microservices-CommunicationUsing-Spring-Cloud-OpenFeign/ https://www.youtube.com/watch?v=aO3W-lYnw-o https://www.youtube.com/watch?v=x1BR0DbuQg&list=PLVz2XdJiJQxz3L2Onpxbel6r72IDdWrJh https://www.youtube.com/watch?v=rlS9eH5tEnY 


Microservices 

https://cloudacademy.com/blog/microservices-architecture-challenge-advantage-drawback/ https://microservices.io/patterns/refactoring/strangler-application.html https://microservices.io/patterns/data/saga.html https://microservices.io/patterns/microservice-chassis.html https://livebook.manning.com/book/microservices-patterns/chapter-2/25


SSL/TLS/Certificates

 https://www.youtube.com/watch?v=T4Df5_cojAs 


Pivotal Cloud Foundry (PCF) 

https://www.youtube.com/watch?v=IMM58syURi4 https://www.youtube.com/watch?v=okOv450mO7U https://www.youtube.com/watch?v=Mo14JCWcotk



Big O notation 

https://www.baeldung.com/java-algorithm-complexity
 https://www.interviewcake.com/article/java/big-o-notation-time-and-space-complexity

Problem Solving (Problems on arrays, linked list, Strings etc.)

 https://www.geeksforgeeks.org/subarraysubstring-vs-subsequence-and-programs-togenerate-them/ https://www.geeksforgeeks.org/sum-of-all-subsequences-of-an-array/ https://www.geeksforgeeks.org/write-a-program-to-reverse-an-array-or-string/ https://www.geeksforgeeks.org/minimum-halls-required-for-class-scheduling/?ref=leftbarrightbar https://www.geeksforgeeks.org/count-of-elements-on-the-left-which-are-divisible-by-currentelement/?ref=leftbar-rightbar https://www.geeksforgeeks.org/sum-even-odd-elements-array/ https://www.geeksforgeeks.org/maximum-number-of-unique-values-in-the-array-afterperforming-given-operations/?ref=leftbar-rightbar


Other Important Topics

 https://howtodoinjava.com/interview-questions/spring-mvc-interview-questions-withanswers/ http://tutorials.jenkov.com/java-concurrency/java-memory-model.html http://tutorials.jenkov.com/java-concurrency/index.html http://tutorials.jenkov.com/java-concurrency/deadlock.html http://tutorials.jenkov.com/java-concurrency/deadlock-prevention.html https://www.baeldung.com/java-executor-service-tutorial







Performance Improvment in Microservices





Security in microservices architecture



C's Of Security: code, container, cluster, and cloud/co-lo/ corporate datacenter.


Coding 

force push code from backend to frontend : https://stackoverflow.com/questions/34388614/how-to-force-update-single-page-application-spa-pages


How to spin frontend standalone as microservice
Loadbalancer vs API gateway
Use another server instead of tomcat in spring
how to use cache and types of cache: local n remote cache Eg
Implementation of rabbitMQ


customer object as key in hashmap? condition : make it immutable

two instance object acccesing synchronied method: both can run at sametime. make it static

java stream API performance comparison with normal for loop

Java API gateway

Frontend App Tuning

Query Performance tuning  : https://mode.com/sql-tutorial/sql-performance-tuning/
Partitioning Postgresql for storing data : https://hevodata.com/learn/postgresql-partitions/


Multistage docker file for making hosting react app in docker image with nginx server

CloudFare as entry point . Its A DNS service

Virtualisation vs Containerisation: 
https://middleware.io/blog/containerization-vs-virtualization/

Proxy vs Reverse proxy vs Loadbalancer

Ingress Vs loadbalancer: https://www.baeldung.com/ops/kubernetes-ingress-vs-load-balancer


Example of event sourcing: 
Event Sourcing is a pattern for storing data as events in an append-only log. This simple definition misses the fact that by storing the events, you also keep the context of the events; you know an invoice was sent and for what reason from the same piece of information.
Good examples for Event Sourcing are version control systems that stores current state as diffs.

Scaling of microservces
1. Horizontal scaling
2. Vertical scaling
Loadbalancer and consistent hashing
Http add security -> Https 
flatMap in java : list of list to list , List::Stream
indexing in database, composite index, covering index
configuring security in API
Static memeber can be overloaded or overriden or inherited
Database
How to update millions of record in Db without loosing data
how Db instances remains in sync
how global variables maintain values across different nodes
how to perform sharding
How to limit no of request per second in spring boot.
How events are sent to MQ
How distributed caching works
Refresh token scope and how to update confiugration at runtime in spring boot
CorelationId in log4j.xml.     https://plrogoman.wordpress.com/2015/05/13/log4j-adding-a-correlation-id-to-your-logs/
Concept of MDC in logging
HPA in k8s for autoscaling

Logging


Performance/ Health Checks


Caching:  write thru vs write back
Queue: Failure of message queue, RabbitMQ(lucene or inverting indexing), how indexes created.
loadbalalncer algorithms
OOPs Design Principle :: DRY, KISS, YAGNI


Hystrix vs Hikari

ELK stack

TIG stack

Prometheus
RabbitMQ
Kafka

React
Redux,
Typescript

Docker 
K8s

Azure 
AWS 
terraform

database normalisation& querying

String programs
Array programs
data Structure programs
Dynamic programs

No comments:

Post a Comment

Interview Prep: Java full stack

 SOLID principle :  https://www.educative.io/answers/what-are-the-solid-principles-in-java Design Pattern:  Creational:  https://medium.com...