Final Exam: Lead Developer

  • 1 Video | 30m 32s
  • Includes Assessment
  • Earns a Badge
Likes 2 Likes 2
Final Exam: Lead Developer will test your knowledge and application of the topics presented throughout the Lead Developer track of the Skillsoft Aspire Apprentice Developer to Journeyman Developer Journey.


  • analyze algorithms with constant time complexity
    analyze algorithms with cubic time complexity
    analyze algorithms with linear time complexity
    analyze algorithms with logarithmic time complexity
    analyze algorithms with quadratic time complexity
    analyze compiled bytecode to see how Java uses type erasure to ensure type safety and prevent code bloat
    apply default values to an element in annotation and also experiment with unnamed elements
    apply terminal operations on predicates
    apply the @Override annotation to detect typographical errors in method names at compile-time rather than at run-time
    change the target policy to control exactly what code elements an annotation can be applied to
    count nodes and delete nodes in a circular linked list
    create a HashSet object and invoke multiple methods on it, and also correctly override the .hashCode and .equals method of the contained class
    create a TreeSet and sort it using various custom comparators
    define a method, override it, and then mark that overridden version with the @Override annotation
    delete a node from a linked list and rewire the list
    demonstrate that custom objects can be keys or values in maps, but that in order to ensure that there are no duplicates you have to override the .hashCode and .equals methods of those contained objects correctly
    demonstrate that predicates can be used to transform one stream object into another
    demonstrate that the @SafeVarargs annotation is purely indicative and does not perform any run time or compile checks
    demonstrate various relationships between base and derived classes in the presence of type parameters
    dequeue elements in a queue implemented as a circular queue
    dequeue elements in a queue implemented using arrays
    describe how different implementations of the Set interface differ in their notions of set order
    describe how the .get, .set, .add, .indexof, and .lastindexof methods work
    describe how the overridden version of .equals can be used to control list equality operations
    describe how varargs are defined and used
    describe how you can create a custom comparator
    describe how you can iterate over lists using ListIterator
    describe how you can use the .copy function to take values from one list and put them in another
    describe important methods of the List interface and how the .addall, .removeall, and .retainall methods work
    describes the is-a relationship of an ArrayList with Collection, Iterable, and List
  • describe the two limitations of an array
    describe when you can use the .sublist method to get a part of a list
    differentiate between ArrayLists and LinkedLists and the use cases where they are suitable
    differentiate between bounded and unbounded type parameters
    differentiate between methods used to compute set union, difference, intersection, and equality operations
    enqueue elements in a queue implemented as a circular queue
    enqueue elements in a queue implemented using arrays
    enumerate different scenarios in which the @SuppressWarnings annotation can be applied
    incorporate constraints, known as bounds, on type parameters
    insert a new node at the head, count the number of nodes in a linked list
    insert a new node at the tail of the linked list
    pop elements from and peek into a stack implemented using linked lists
    pop elements from a stack implemented using arrays
    push new elements on to a stack implemented using linked list
    push new elements on to the stack implemented using arrays
    recognize different aspects of specifying and using type parameters
    recognize exactly what counts as a functional interface and what does not
    recognize how maps work and that they are very similar to their set counterparts
    recognize how the @Deprecated annotation can be used to flag the instantiation of objects of deprecated classes at compile-time
    recognize how the Iterable and Iterator interfaces can be accessed using loops to avoid run-time errors from going over the limits of a list
    recognize how type parameters can be applied not only to classes, but also to specific methods inside classes
    recognize how type parameters may exist only in the base class, or only in the derived class, or in both
    recognize how using type parameters can ensure both type safety and code reuse
    recognize the different types of sets and how they all extend the Set, Collection, and Iterable interfaces
    recognize use-cases where a base class specifies one type parameter and the derived class specifies multiple type parameters
    recognize what streams are and some of the methods you can invoke on them
    search for a node with specific data in a linked list
    traverse a doubly linked list from the last element to the first
    use the built-in classes in Java for queues and stacks
    use upper bounded wildcards to specify that a type parameter must be a sub-class of a certain type


  • Playable
    Lead Developer


Skillsoft is providing you the opportunity to earn a digital badge upon successful completion of this course, which can be shared on any social network or business platform

Digital badges are yours to keep, forever.


Likes 0 Likes 0  
Likes 0 Likes 0  
Likes 1 Likes 1