Thursday, January 2, 2020

Java SE 8 Programmer II (1Z0-809)

1Z0-809

Java Class Design

  1. Implement encapsulation
  2. Implement inheritance including visibility modifiers and composition
  3. Implement polymorphism
  4. Override hashCode, equals, and toString methods from Object class
  5. Create and use singleton classes and immutable classes
  6. Develop code that uses static keyword on initialize blocks, variables, methods, and classes

Generics and Collections

  1. Create and use a generic class
  2. Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque objects
  3. Use java.util.Comparator and java.lang.Comparable interfaces
  4. Collections Streams and Filters
  5. Iterate using forEach methods of Streams and List
  6. Describe Stream interface and Stream pipeline
  7. Filter a collection by using lambda expressions
  8. Use method references with Streams

Java Stream API

  1. Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method
  2. Search for data by using search methods of the Stream classes including findFirst, findAny, anyMatch, allMatch, noneMatch
  3. Develop code that uses the Optional class
  4. Develop code that uses Stream data methods and calculation methods
  5. Sort a collection using Stream API
  6. Save results to a collection using the collect method and group/partition data using the Collectors class
  7. Use flatMap() methods in the Stream API

Use Java SE 8 Date/Time API

  1. Create and manage date-based and time-based events including a combination of date and time into a single object using LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration
  2. Work with dates and times across timezones and manage changes resulting from daylight savings including Format date and times values
  3. Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit

Java File I/O (NIO.2)

  1. Use Path interface to operate on file and directory paths
  2. Use Files class to check, read, delete, copy, move, manage metadata of a file or directory
  3. Use Stream API with NIO.2

Building Database Applications with JDBC

  1. Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations
  2. Identify the components required to connect to a database using the DriverManager class including the JDBC URL
  3. Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections
Advanced Java Class Design

  1. Develop code that uses abstract classes and methods
  2. Develop code that uses the final keyword
  3. Create inner classes including static inner class, local class, nested class, and anonymous inner class
  4. Use enumerated types including methods, and constructors in an enum type
  5. Develop code that declares, implements and/or extends interfaces and use the @Override annotation.
  6. Create and use Lambda expressions

Lambda Built-in Functional Interfaces

  1. Use  the built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
  2. Develop code that uses primitive versions of functional interfaces
  3. Develop code that uses binary versions of functional interfaces
  4. Develop code that uses the UnaryOperator interface

Exceptions and Assertions

  1. Use try-catch and throw statements
  2. Use catch, multi-catch, and finally clauses
  3. Use Autoclose resources with a try-with-resources statement
  4. Create custom exceptions and Auto-closeable resources
  5. Test invariants by using assertions

Java I/O Fundamentals

  1. Read and write data from the console
  2. Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.io package.
Java Concurrency
  1. Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks
  2. Identify potential threading problems among deadlock, starvation, livelock, and race conditions
  3. Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution
  4. Use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
  5. Use parallel Fork/Join Framework
  6. Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance.

Localization

  1. Read and set the locale by using the Locale object
  2. Create and read a Properties file
  3. Build a resource bundle for each locale and load a resource bundle in an application

Saturday, January 19, 2019

Search Technologies

https://en.wikipedia.org/wiki/User_intent
https://en.wikipedia.org/wiki/Enterprise_search
https://en.wikipedia.org/wiki/Natural_language_processing

https://en.wikipedia.org/wiki/Statistical_classification
https://en.wikipedia.org/wiki/Precision_and_recall
Discovery
https://en.wikipedia.org/wiki/Ranking_(information_retrieval)

https://en.wikipedia.org/wiki/Apache_Nutch
https://en.wikipedia.org/wiki/Storm_(event_processor)
https://en.wikipedia.org/wiki/Apache_Spark
https://en.wikipedia.org/wiki/Incremental_search
https://en.wikipedia.org/wiki/Spelling_suggestion

https://en.wikipedia.org/wiki/Face_detection
Image Classification

https://en.wikipedia.org/wiki/Deep_learning
https://en.wikipedia.org/wiki/Conceptual_dictionary
https://en.wikipedia.org/wiki/Lemmatisation
https://en.wikipedia.org/wiki/Stemming

https://en.wikipedia.org/wiki/Faceted_classification

https://en.wikipedia.org/wiki/3D_pose_estimation
https://en.wikipedia.org/wiki/Elasticsearch

Tuesday, September 6, 2011

Outsourcing- a perspective

One of the key reasons for out sourcing software jobs by Bay Area Companies to lower wage geographies is obvious reason. If this "lower wage" is removed from the equation, what else remains....

  1. Move the work to people instead of moving people to work. (India & China churns out more people and with appropriate skills - as compared to what can be accomplished in the Bay Area)
  2. Using contractor versus employees give flexibility in down sizing with no/little labor department intervention
  3. Take advantage of "follow the sun" development model
  4. Deal with labor laws


    1. No flexibility on pay day for employee. Contractors payment can be delayed with no/little impact
    2. Hiring/firing with little / no cost
    3. Avoid dealing with immigration related risks


  5. We had one Chinese company who was able to provide additional 3 resource for 2 week - with zero lead time for hiring/learning


  6. Less resource needed
    1. Office space
    2. User equipments (IT management)

Monday, September 5, 2011

Android on vmware player

http://www.android-x86.org

This project ports Android on x86 hardware (Personal computers). It would be interesting to see if we can install this code on vmware player and use it for rapid development instead of or in addition to Android emulator supplied by Google.

Currently, I am not able to get it to work - as i can't force vmware player to present the hardware the way the iso is expecting.

Friday, September 2, 2011

Federated SOA: components

Billing and revenue Management
Business Process Execution Language
Customer relationship management
Sales Tax Services (Global)
Mailing Address Standardization (US/Global)
Sales Quote Service
Identity management
Tokenization (data security)
Content management system
Enterprise service bus

Tuesday, August 9, 2011

Is there any best practices around?

Let us say there are 10 silo 'product' based teams with minimal interaction between the code. Individual teams are really mature and they know what they do best.

Suddenly, the organization comes up with a 5 year plan to integrate all 12 teams to base all transaction based on 'Customer' (not product). The identified technology of choice being WebServices.

Question:
  1. How are the list of products/features inventoried and published
  2. How are the available pre-production and production environments inventoried and published
  3. How are the WebServices (wsdl) published (There are likely to be 100s, if not 1000s of wsdl on 100 environments and on their own schedules)

Wednesday, June 15, 2011

Tax Software <> Social

Currently many Tax Preparation software lets you on your own or provide minimal online help that you need to jump through. Suggestion: Why not provide per question tax advice offered by tax professionals?

We can even provide market place for customers & tax professionals to discuss on specifics by chat/phone. We can provide a way for client to share screen for tax pro to fill out.

Biggest risk: legal issues on this regulated profession. Also, privacy and the things that can follow on privacy.