Nesto Drugo

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

JT (Junior Technician) TL (Technician) ST (Senior Technician)

Programming
Language(s)
- encapsulation and its benefits inner classes
- classes, objects, interfaces
- packages, access modifiers
OOP Concepts - constructors, initializers
- inheritance, aggregation, composition,
polymorphism, overriding, static vs instance
members, enums
- keywords, data types, operators
- flow control (conditional and loop
Language constructs)
Fundamentals - comments, javadoc
- what Java is (the language, the standard, the
virtual machine)
- List, Map, Set and implementations - implementations and how/when/why to
use: HashSet vs TreeSet, HashMap vs
Collections LinkedHashMap, ArrayList vs
LinkedList, hashCode & equals
- what annotations are, predefined Java - scopes (compile/runtime)
Annotations annotation types
- what exceptions are, creating, throwing,
catching
- Throwable and its subhierarchy
Exceptions - Error vs Exception
- checked vs unchecked
- advantages of exceptions
- aware of Generics: advantages, generic
vs raw types, bounded type parameters,
declaring generic classes, declaring
Generics generic methods, declaring generic
variables, generics and inheritance, type
inference, type erasure, wildcards, get-
and-put principle
Threads - what a thread is and how to create one
- Java 8 features: streams, lambda expressions, - Java features up to 17: knowledge about new
Java versions default methods features (ex: records vs Lombok)
Implementation
- Spring Context: context (role), - Spring Context: circular dependencies, events ,
Server-Side
dependency injection, inversion of bean lifecycle (PreDestroy, PostConstruct)
control, annotation, bean creation and - Spring MVC: DispatcherServlet (front controller
scopes, bean naming, wiring and auto- pattern), Controllers, Request Mapping, request
Development wiring (including differences between parameters, request body, response body, exceptions
field, constructor, and setter injection), mapping, session
qualifiers - Spring AOP: aware of Aspects, Advices, Joinpoints

- basic SQL queries JDBC JDBC


- aware of JDBC drivers - how (create/prepared statement), ACID - more advanced queries: having, groupBy, sub-
principles, basic queries, drivers queries
JPA - views, stored procedures
Data Persistence - aware of JPA and ORM (advantages vs - transactions: commit-rollback
disadvantages) JPA
- ORM, CRUD, entities, entity relationships,
persistence of fields, relationship mappings, entity
manager, tools: Hibernate

- web concepts: http protocol: request response,


Middleware headers, cookies, url, uri, verbs (including
Integration idempotency and safe), status codes, stateless vs
stateful
- authentication vs authorization
- the authentication mechanism
Security - implementing endpoint authorization, writing
method authorization rules
Architecture &
Design
- aware of S.O.L.I.D. principles
Design Patterns - essential design patterns: Singleton, Builder,
& Principles Factory method, Observer
- aware of*: Scalability, Security, Interoperability,
Availability, Modifiability, Extensibility, Usability,
Performance, Robustness, Resilience, Portability,
Reusability, Stability, Supportability, Testability etc.
Quality attributes * has read about and can easily enumerate at least
10 such concepts and explain their meaning
Enterprise
Integration
Patterns

Testing
- aware of unit testing - test phases: Arrange, Act, and Assert - test doubles: spy, stub, mock
Unit Testing (setup, tear down) - best practices like single responsibility, self-
descriptive, etc.
- aware of unit vs integration testing - aware of concepts related to multi-layer integration
Integration - mocking for integration tests testing, database integration testing , Spring support
Testing for integration testing
Non-Functional
Testing
Versioning,
Build, Deploy
Maven or Gradle: Maven or Gradle:
- compile and run project - dependency vs dependency management
Build - add a new dependency - versioning - how it's done
- read a POM file - plugins
- aware of repositories, build lifecycle
- aware of build, ship and run platforms, such as
Deploy Docker (pulling a image, starting/stopping the
container)
Git: Git:
- clone, add, commit, push, pull - apply merge and rebase
Version Control - branching - cherry pick, revert, force push
- aware of merge and rebase - conflict resolution
Continuous - aware of Continuous I/D/D: why?
Integration /
Delivery /
Deployment
Other skills
- understands a full working process - almost independent in developing applications
- debugging techniques: how it works
(jvm port)
- aware of arch techniques
- needs assistance for writing code

You might also like