The repository contains solutions to about 1000 programming problems that I completed between July 20, 2021 and February 8, 2022. I love the code I write. Where the job verification system allowed me, it is my code that is presented. Sometimes the validator, for some reason, gave part of the code ready or replaced what I wrote. Sometimes the inspector's demands seemed absurd to me, but I was forced to obey. I think you can easily find such areas. I left them mostly as they are.
Commands and the first program. Introduction to types and keyboard input. Conditional statements. Cycles. Working in Intellij IDEA, Debug. Arrays. Functions. Data types. Useful nuggets. Working with strings. Objects. Classes and static classes. Collections, Generics. Collections, Part 2. Exceptions. Input/Output streams. Working with time and date. Introduction to OOP. Lambda functions. Tasks and games in JavaRush.
OOP basics: basic principles, inheritance, encapsulation. OOP basics: overloading, polymorphism, abstraction, interfaces. Interfaces: comparison with abstract class, multiple inheritance. Type casting, instanceof. Big problem on interfaces.
Method overloading, peculiarity of constructor call. Introduction to threads: Thread, Runnable, start, join, interrupt, sleep. Introduction to threads: synchronized, volatile, yield. Familiarity with threads: InputStream/OutputStream, FileInputStream, FileOutputStream. Reader/Writer, FileReader/FileWriter. Serialization.
Object device: equals, hashCode, clone, wait, notify, toString(). String: mutable, immutable, format, StringTokenizer, StringBuilder, StringBuffer. Inner classes, examples: Map.Entry. Internal classes, peculiarities of implementation. Creating and stopping threads: start, interrupt, sleep, yield. Monopoly data sharing: synchronized, volatile. DeadLock. Wait, notify, notifyAll. ThreadGroup, ThreadLocal, Executor, ExecutorService, Callable. Experience with Jsoup. Autoboxing, features of implementation. Operators: numeric, logical and binary. Experience with Swing.
Working with files and archives. RMI and dynamic proxies. Experience with Swing. JSON, JavaScript. Experience with Guava, Apache Commons Collections, Junit. Recursion. Garbage collection and reference types in Java. Logging. Version control systems: Git and SVN. Generics. Basic patterns for building web applications. In-depth study of collections. Design patterns. Utility classes Arrays. Collections. Design methodologies. Annotations in Java. The exception hierarchy. Creating the first web application. Working with Tomcat and Idea. URIS, URLS. REST services. Create your client-server application.