Finastra Investment Banking Interview Questions

Carvia Tech | November 18, 2020 | | 9 views | investment banking


Core Java Multi-threading and Executor Framework

  • Can two threads access two different synchronized methods of a single class at the same time?

  • What does synchronization keyword do at the method level?

  • What is executor framework? What is role of a BlockingQueue in executor framework?

  • What is Completable future? How does it compare to Future?

Collections, Streams and Lambda Expression

  • How will you sort employees based on their age? Use Lambda expressions for comparator.

  • Word frequency program using lambda expression and streams.

  • How to convert a list into map using streams.

  • How to use Java Stream reduce method with a coding example? Use reduction to find a string with maximum length from a given array of strings.

Coding challenges

  • Write a program to count frequency of words from a given sentence.

  • Sort a random array of 0’s and 1’s to make 1’s appear before zeros.

  • Find pair of numbers from a given array that sums to a given number.

  • How to remove duplicates from a sorted array.

  • How will you find item at middle of a linked list

Inter-service communication

  • How to call one microservice from another microservice in Java? What are pros and cons of different approaches?

  • How to pass user’s token while invoking one service from another

  • Secure service to service communication without resource owner (client credentials workflow)

  • How to call two different services from a method and join the results?

Misc Integration

  • Cassandra: What is consistent hashing

  • PubSub: What is difference between pub/sub and other queue systems

  • What is sharding in elastic search? What is technical architecture of ES, What is deployment architecture, how data is stored and indexed into ES

  • What is difference between Git pull and Git fetch. Git pull = git fetch + git merge

  • How many shards should be there in one index

  • How many types per index in elastic search

  • Topology of elastic search deployment, replicas, nodes and shards

  • Size of a single document in elasticsearch

  • How to decide the number of shards for an index

Unix

  • How to replace all occurrences of a given word with another in a file on UNIX

  • How to stream exceptions from a live log file

  • How to login into docker container

  • How to check logs from a docker container

  • How to find all files in a given directory that contains a given text

Misc

  • Describe a microservice that you built from scratch

  • Bounded context problem in elastic search

  • Why to use Queue for communication across microservices

Last round questions

  • What microservice did you develop from scratch in production, describe below points for the same:

    • What was used for Version Control

    • What kind of deployment artifacts were produced and why (jar, war, docker etc)

    • How did the deployment happen? (manual, version control hook, jenkins, ci/cd)

    • what was the functional boundary for microservice

  • What features of Java 8, 9, 10 and 11 have you used in your recent projects.

  • What is deployment architecture for ElasticSearch (nodes, clusters, workers, replicas, shards, etc.)

  • Why would you use a queueing system (Google Pub/Sub) in microservices communication?

  • What are advantages of Stream in Java? How does stream compare to collections.

  • What are advantages of functional style of programming using lambdas introduced in Java 8?

  • What is back pressure in reactive programming?


Top articles in this category:
  1. RBS Java Programming Interview Questions
  2. Multi-threading Java Interview Questions for Investment Bank
  3. ION Trading Java Interview Questions
  4. BlackRock Java Interview Questions
  5. Sapient Global Market Java Interview Questions and Coding Exercise
  6. UBS Java Interview Questions
  7. Morgan Stanley Java Interview Questions

Find more on this topic:

Recommended books for interview preparation:

This website uses cookies to ensure you get the best experience on our website. more info