Has worked or has Java knowledge
Knows control structures, various access modifier, usage of keyword final, distinguish checked and unchecked expceptions, explain generic usage in context of collections library, Knows Enums, Knows Date / Calendar and formatting numbers and dates, Knows StringBuilder vs StringBuffer, Able to explain synchronized key word, Knows properties of containers like ArrayList, Set and HashMap, sorting of ArrayList, Regular Expression, any one of build tools like maven, gradle
Knows anonymous classes, Inner classes, Knows concurrent data structures like ConcurrentHashMap, Executor framework and its usage, Usage of Future, Difference between various Map, Set, List implementations, Usage of utility class Collections to manipulate collections, natural sort, Knows SortedSet and SortedMap, uses of keyword volatile, Regular expression, Usage of Java8 functional programming methods on streams, Knows Collectors and their usage, Knows Deamon threads, Knows bounded and unbounded wild cards in Generics, Deep cloning and Shallow cloning, Knows usage of various open source libraries that provide utilties not provided with Java for example, commons collections, guava etc, Knows how to use at least one among many mocking library in unit tests, knows how to use assert libraries in unit test like hamcrest etc , Internationlisation classes, Knows JDBC alternatives like Spring JDBCTemplate, JDBI, Designing immutable classes, Using profilers like JProfile, Aware of Visual VM, Debug multi threaded code.
ThreadLocal data, Dynamic proxies, Knows various synchronisers like CountDownLatch, Semaphore, Cyclic Barrier, Usage of AtomicInteger, How Java memory model related to concurrency, Usage of concurrent collections like BlockingQueue,Usage of CompletableFuture, Reflection, Custom Serialisation, Executor Service and exception handling, Know how to customise threads created by ExecutorService, Aware of concurrent alternative libraries like Akka, Reactor or RxJava, Knows JMX its importance and therefore able to use them, Aware of various caching libraries available in Java.
Designing Types (same as OOPs)
Understands the basic type system and that there are reference types and value types. Also understands what a class is and how to define classes in a CLR based language.
Constructors, methods, properties, events. Uses type visbility and member accessibility intelligently.
Inheritence, understands abstract classes, interfaces and overloading. Understand extension methods, generics and delegates.
Understands performance when designing types. Fully understands anonymous methods, delegates and when to use.
Understands basic types, string, char, int, long, decimal, float.
StringBuilder, string interning, arrays, IEnumerable, ICollection and IList. When to use IEnumerable and IList.
Enumerations, bit flags, nullable types, detailed understanding of delegates, anonymous methods, expressions, var keyword.
Generics, attributes, custom attributes. HashSet, Dictionary and other higher order types.
Basic understanding that memory is automatically cleaned up. Understands how Garbage collection works and reasons for Memory leaks issues.
Understanding that the garbage collector is generational and non determenistic. Understanding of the IDisposable pattern.
Understands finalization internals, resurrection and is able to profile for managed memory leaks.
Understands that there are multiple garbage collectors available, large object heaps, and understands how the garbage collector works with unmanaged memory.
Has worked / Has knowledge of a kind of SQL programming either in academics / firm
Understand syntax and function of sql programming of any choice (Sql-server / Oracle / Sybase / MySql)
Select , Distinct , Where , And & Or , Order By , Insert Into , Update , Delete , Injection , Select Top , Like , Wildcards , In , Between , Aliases , Joins , Inner Join , Left Join , Right Join , Full Join , Union , Select Into , Into Select , Create DB , Create Table , Constraints , Not Null , Unique , Primary Key , Foreign Key , Check , Default , Create Index , Drop , Alter , Auto Increment , Views , Dates , Null Values , Null Functions , Data Types , DB Data Types
Generic Functions like -
Functions , Avg() , Count() , First() , Last() , Max() , Min() , Sum() , Group By , Having , Ucase() , Lcase() , Mid() , Len() , Round() , Now() , Format()
Understand database design, normalization, improve performance with indexes / partitions, Different perspective on the data with views, stored procs, triggers.
Know how to writed queries, subqueries, user defined functions.
Understand data warehouse, data marts, data protection against data degradation and sql injection. Performance factors related to SQL clauses, Isolation level with specified SQL clauses, Select appropriate join operation and recognizing join coding convention, Coding joins with nested expressions, coding subqueries, correlated subqueries.
Understand RDBMS, SQL, DDL, DML, Understand page, data structure behind and performance improvement with known reason against selected technique.
Groom team, aware of appropriate contacts.
No understanding of unit testing. Tests codes by driving the user interface only or writing console applications.
Understands the concept of a unit test (tests a single part of the code). Can create basic unit tests that test units of functionality.
Understands stubbing and mocking and can create mocks with and without a mocking framework.
Understands Spring Batch Architecture and general batch principles and guidelines
Understands domain language of Batch
Can configure and run a Job using Spring batch
Can create a job with Multi process mode
Knows how Spring IOC Works and can create an application using Spring IOC
Can handle bean lifecycle
Can inject properties, collection objects, Create Factories, Can choose appropriate scope for a bean
Can seggregate the beans logically depending upon the module
Knows internal functionality of bean container
Knows how Spring MVC works and its advantages over Struts
Understands the Spring MVC system and can make changes to Existing Spring MVC application
Can perform normal Form Submission and Request Data Validation
Can understand data binding and data formatter
Knows Spring Form Tags
Can handle multiple view types
can create synchronous / asynchronous controller
Can create REST-ful API's
Knows how Spring security works and can understands the request flow for Spring Security
Can integrate an application with Spring Security using default setting of in-memory, Database, LDAP authentication
Securing SOA application with Spring Security
Can customize implementation of user details services and Access Control List
Aware of the concepts of Voters
Adjusting Security session in realtime without re-login
Have created new functionality with Hibernate and understands Annotations and XML Configuration for Hibernate
Can perform CRUD Operations on database using Hibernate
Understands transactional pattern
Can create a Inheritance Mapping of the Table with Classes
Can create a One to one, One to many and many to many mapping
Knows HQL, JPQL, Query, Criteria concepts
Understands Batch processing, Caching strategies,
Understands advanced querying with hibernate criteria API.
Able to do SQL logging with SQL parameters
Able to do performance tuning from hibernate mapping perspective