JAVA

JAVA

Alex Booldey
1. Finish all tasks

2. What you have to know before interview

    2.1 Algorithms and Data Structures
        Complexity of Algorithm
            big O-notation

        Recursion
            http://codingbat.com/java/Recursion-1
            Use debug for understanding

        Search
            Linear O(N)
            BinarySearch O(logN)

        Sort
            bubble
            insertion
            selection
            merge
            quick

        Data Structures
            LinkedList(based on Node)
            ArrayList
            Stack, Queue, Dequeue
            Tree -> BinaryTree, RedBlackTree(TreeSet, TreeMap)
            Hash structures (HashSet,LinkedHashSet, HashMap, LinkedHashMap)

        links:  http://www.cs.usfca.edu/~galles/visualization/Algorithms.html
                http://visualgo.net/

    2.2. OOP
        Encapsulation, Inheritance, Polymorphism, Abstraction

    2.3  OOD(design pattern)

        SOLID principles

        Creational
            Factory Method, Builder, Singleton, Abstarct factory

        Structural
            Adapter, Decorator, Facade, Proxy

        Behavioral
            Iterator, Observer, Strategy, Command, Chain of responsibility

        book: Head First Design Patterns

    2.3. Java Core
        Lifecycle of program
        JVM
            Garbage Collector, ClassLoader -> ClassPath
        Primitive and Reference types
        Arrays
        Loops
        switch-case
        method in java
        access modifiers
        final (Immutable class)
        static
        enum
        Formatter, Date, Calendar
        Exceptions(checked, unchecked)
        try-catch-finally
        java.io.*;(Streams)
        Serialization

        Generics
        Collections in Java
        Iterable <- Collection <- List,Set,Queue
        Map

        Threads
            Thread, Runnable
            Lifecycle of Thread
            sleep, join, interrupt methods
            synchronized(wait, notify, notifyAll)
            java.util.concurrent.*;
            dead lock situations

    2.4. Networks
        Model OSI
        IP <- TCP, UDP
        HTTP

        Sockets in Java

    2.5. Data Bases
        MySql
        SQL

        JDBC in Java

    2.6. ORM
        JPA <- HIBERNATE

    2.7. Spring

    2.8. Logging
        Slf4J <- Log4J

    2.9 Testing
        TDD
        JUnit

    2.10. Servlet API
        JSP, JSTL

    2.11 Web Services
        SOAP, REST

    2.12 Agile <- Scrum
         Кен Швайбер любые книги по скраму
         Scrum and XP: Записки с передовой
         Kanban vs.Scrum: выжимаем максимум
         Scrum.Гибкая методология разработки ПО (Майк Кен)
         scramtrainingseries.com - легкие полезные видео

    2.13 Java literature recommendation

        Effective Java
            |
        Philosophy of Java
            |
        OCA/OCP Java SE 7 Programmer I & II Study Guide

    Must learn by yourself front-end side
        HTML, CSS, Javascript - http://www.codecademy.com/
        Bootstrap (css framework)

    If you want systematize english skills (for beginners)
        http://tvkultura.ru/video/show/brand_id/14505/episode_id/114802

    Join OpenSource Java Project
        https://github.com/jtalks-org/jcommune

        https://github.com/trending?l=java
        https://github.com/trending/developers?l=java

        http://www.quora.com/What-are-some-good-open-source-projects-for-beginner-programmers-for-Java
        http://sourceforge.net/directory/os:linux/freshness:recently-updated/?q=java
        http://stackoverflow.com/questions/2386755/open-source-java-projects-to-get-involved-in

        Google Drive Materia
        JavaTasks https://drive.google.com/open?id=0B3pUqYFBBsi-UUlMQXhrR3BDYlE
        Books     https://drive.google.com/open?id=0B3pUqYFBBsi-U3dlaWd1SERYejg


Report Page