black duck logo

Black Duck Interviews

2 experiences196 reads26 questions50% success rate
Black Duck Interview Experience | Senior Software Engineer | Aug 2025 | Bangalore
black duck logo
Black Duck
Senior Software EngineerBangalore3 yearsRejected
September 17, 2025189 reads

Summary

I recently interviewed for a Senior Software Engineer position at Black Duck. After successfully navigating through four rounds covering data structures, algorithms, system design, and core Java concepts, I was unfortunately rejected due to perceived slowness in my Java typing during the final technical round.

Full Experience

Application and Initial Contact

I applied directly through Black Duck's career portal. Shortly after, a recruiter contacted me to schedule a HackerRank online assessment, followed by a series of face-to-face interviews.

Round 1 - Online Assessment

This round consisted of two medium-to-hard coding questions. One was based on strings, and the other involved the Trie data structure. I felt I performed adequately.

Round 2 - Face-to-Face

In this round, I was asked to find palindromes within a given string and to reverse an integer, which had some tricky edge cases. Beyond coding, we had a detailed discussion on SOLID principles, elaborated on LEFT OUTER JOINs, and I wrote a specific SQL query. We also delved into project discussions, the differences between interfaces and abstraction in Java, various other Java-related questions, and Dependency Injection. I was able to answer most questions and progressed to the next round.

Round 3 - Face-to-Face

This was a comprehensive round with many questions. The interviewer explained that if I answered quickly, we would also cover Low-Level Design (LLD) and High-Level Design (HLD). I aimed to answer as many as possible to maximize my chances. Questions included finding the maximum height of a Binary Tree, implementing preOrder, postOrder, and inOrder traversals, and explaining the differences between DFS and BFS. I was also asked to find the first unique character in a string and to identify unique pairs that sum up to a target in a variation of the Two Sum problem. System design questions involved designing an ArrayList and a URL Shortener, which led to significant discussion. The round concluded with questions on SpringBoot, Java, Java streams, and further project discussions. The interviewer seemed satisfied, and I cleared this round as well.

Round 4 - DSA

The recruiter informed me this round would be with a US team, focusing purely on Data Structures and Algorithms. I was given two easy-to-medium problems to solve in Java and managed to complete both within 40 minutes.

Verdict

Despite feeling confident after the interviews, I was ultimately rejected. The feedback I received was that I took too much time typing in Java during the technical rounds. While disappointed, I believe I gave my best effort.

Interview Questions (15)

Q1
Find Palindromes in String
Data Structures & Algorithms

Given a string, find all palindromes present within it.

Q2
Reverse Integer
Data Structures & AlgorithmsMedium

Reverse the digits of a given integer. This question typically involves handling edge cases like negative numbers and potential integer overflow.

Q3
SOLID Principles Discussion
Other

Discussion around the principles of SOLID design for object-oriented programming.

Q4
SQL LEFT OUTER JOIN & Query Writing
Other

Explanation of the LEFT OUTER JOIN clause in SQL and writing specific SQL queries based on given scenarios.

Q5
Interface vs Abstraction in Java
Other

Discussion on the key differences and use cases between interfaces and abstract classes in Java.

Q6
Java Concepts & Dependency Injection
Other

Various questions related to core Java concepts and the concept of Dependency Injection.

Q7
Maximum Height of Binary Tree
Data Structures & AlgorithmsEasy

Find the maximum height or depth of a given binary tree.

Q8
Implement Tree Traversal (PreOrder, InOrder, PostOrder)
Data Structures & AlgorithmsEasy

Implement recursive or iterative pre-order, in-order, and post-order traversals for a binary tree.

Q9
DFS vs BFS Explanation
Other

Explain the differences between Depth-First Search (DFS) and Breadth-First Search (BFS) algorithms, including their use cases and typical implementations.

Q10
First Unique Character in a String
Data Structures & AlgorithmsEasy

Given a string, find the first non-repeating character in it and return its index. If it does not exist, return -1.

Q11
Two Sum: Find Unique Pairs
Data Structures & AlgorithmsMedium

Given an array of integers and a target sum, find all unique pairs of numbers that add up to the target sum.

Q12
Design ArrayList
System DesignMedium

Design and implement a dynamic array similar to Java's ArrayList, including considerations for operations like add, remove, get, and resizing when capacity is exceeded.

Q13
Design URL Shortener
System DesignHard

Design a URL shortening service like TinyURL. This typically involves discussions on system architecture, database schema, hashing algorithms, collision handling, and scalability considerations.

Q14
SpringBoot Questions
Other

Questions related to the SpringBoot framework, covering its features, components, and common usage patterns.

Q15
Java Streams Questions
Other

Questions specifically on the Java Streams API, including intermediate and terminal operations, functional interfaces, and common use cases.

Preparation Tips

My preparation involved rigorous practice of data structures and algorithms, focusing on various problem patterns. I also brushed up on core Java concepts, including advanced topics like streams, and solidified my understanding of SpringBoot. Furthermore, I prepared for system design challenges, especially low-level design aspects like designing common data structures, and reviewed general object-oriented principles. Project discussions were also a significant part, so I ensured I could articulate my past work effectively.

Black Duck Software Engineer Interview Question
black duck logo
Black Duck
Software EngineernullOffer
August 15, 20257 reads

Summary

Interviewed for a Software Engineer position at Black Duck. The interview process included a mix of core Java, SQL, REST, and DSA questions. The candidate was asked about Records, HashMap internals, equals vs hashCode, SQL queries, Java 8 features, cycle detection in linked lists, merging sorted arrays, and other fundamental concepts. The interview focused on both theoretical knowledge and problem-solving abilities.

Full Experience

During my interview at Black Duck for the Software Engineer role, I was asked a variety of questions covering core Java, SQL, REST, and data structures and algorithms. The interview started with questions on Records and the internal workings of HashMap. I was also asked to explain the difference between equals() and hashCode(), which are fundamental concepts in Java object equality. The SQL section included basic queries involving LIMIT, OFFSET, and JOINs. I was also questioned about Java 8 features such as lambda expressions, streams, and the (::) operator. In the DSA section, I was asked to detect a cycle in a linked list and merge two sorted arrays. Additionally, I was asked about the differences between arrays and ArrayList, as well as some basic REST concepts like produces, consumes, content-type, and accept. I was also questioned about the difference between .equals() and ==, and some static variables and method output questions.

Interview Questions (11)

Q1
What are Records?
Core Java

Explain what Records are in Java.

Q2
Internal workings of `HashMap`
Core Java

Describe the internal workings of the HashMap in Java.

Q3
equals() vs hashCode()
Core Java

Explain the difference between the equals() and hashCode() methods in Java.

Q4
Basic SQL queries
SQL

Write basic SQL queries involving LIMIT, OFFSET, and JOINs.

Q5
Java 8 features
Core Java

Explain Java 3 features such as lambda expressions, streams, and the (::) operator.

Q6
Detect cycle in Linked List
Data Structures & AlgorithmsMedium

Detect a cycle in a linked list.

Q7
Merge two sorted arrays
Data Structures & AlgorithmsMedium

Merge two sorted arrays.

Q8
Arrays vs ArrayList
Core Java

Explain the difference between arrays and ArrayList in Java.

Q9
REST concepts
REST

Explain basic REST concepts such as produces, consumes, content-type, and accept.

Q10
.equals() vs ==
Core Java

Explain the difference between .equals() and == in Java.

Q11
Static variables and method output questions
Core Java

Answer questions related to static variables and method output in Java.

Have a Black Duck Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Black Duck.