Upload Button Icon Add office photos

Canva

Compare button icon Compare button icon Compare

Filter interviews by

Clear (1)

Canva Senior Java Developer Interview Questions and Answers

Updated 13 Jul 2024

Canva Senior Java Developer Interview Experiences

1 interview found

Interview experience
5
Excellent
Difficulty level
Moderate
Process Duration
2-4 weeks
Result
Not Selected

I applied via Company Website and was interviewed in Jun 2024. There was 1 interview round.

Round 1 - Coding Test 

Medium~Hard Leetcode style Interview

Interview questions from similar companies

Interview experience
5
Excellent
Difficulty level
-
Process Duration
-
Result
-
Round 1 - Coding Test 

DSA round was there it was good

Interview experience
5
Excellent
Difficulty level
Moderate
Process Duration
2-4 weeks
Result
No response

I applied via LinkedIn and was interviewed in Jul 2024. There was 1 interview round.

Round 1 - HR 

(2 Questions)

  • Q1. Why you want to join facebook?
  • Ans. 

    I want to join Facebook because of its innovative technology, global impact, and opportunities for growth.

    • Innovative technology: Facebook is known for its cutting-edge technology and constant innovation.

    • Global impact: Working at Facebook would allow me to contribute to a platform that connects billions of people worldwide.

    • Opportunities for growth: Facebook offers a dynamic and fast-paced work environment with ample opp...

  • Answered by AI
  • Q2. Whats the best feature you like in Facebook?
  • Ans. 

    I appreciate the personalized news feed feature on Facebook.

    • Personalized news feed shows content based on user interests

    • Helps users stay updated on relevant information

    • Allows users to engage with content they are interested in

  • Answered by AI

I was interviewed in Jul 2021.

Round 1 - Coding Test 

(2 Questions)

Round duration - 90 minutes
Round difficulty - Hard

This was an online coding round where we had 2 questions to solve under 90 minutes . Both the questions were preety hard according to me . One has to have a fair share of knowledge in Data Structures and Algorithms to pass this round .

  • Q1. 

    Longest Increasing Path in a 2D Matrix Problem Statement

    Given a matrix of non-negative integers of size 'N x M', where 'N' and 'M' denote the number of rows and columns respectively, find the length of t...

  • Ans. 

    The task is to find the length of the longest increasing path in a 2D matrix, where you can move in four directions: left, right, up, or down from each cell.

    • Traverse the matrix and for each cell, find the longest increasing path starting from that cell

    • Use dynamic programming to store the length of the longest increasing path for each cell

    • Recursively explore all four directions from each cell, checking if the next cell ...

  • Answered by AI
  • Q2. 

    Saving Money Problem Statement

    Ninja is adventurous and loves traveling while being mindful of his expenses. Given a set of 'N' stations connected by 'M' trains, each train starting from station 'A' and r...

  • Ans. 

    The task is to find the cheapest price from the given source to destination with up to K stops.

    • Read the number of test cases

    • For each test case, read the number of stations and trains

    • Read the details of each train (source, destination, ticket price)

    • Read the source station, destination station, and maximum number of stops

    • Implement a graph data structure to represent the stations and trains

    • Use a modified version of Dijkst...

  • Answered by AI
Round 2 - Video Call 

(2 Questions)

Round duration - 60 Minutes
Round difficulty - Medium

This Round was DS and Algo round and it started with formal introduction, followed by 2 problems. We first dicussed the
approach the time complexity and proper code covering all cases.

  • Q1. 

    K - Sum Path In A Binary Tree

    Given a binary tree where each node contains an integer value, and a value 'K', your task is to find all the paths in the binary tree such that the sum of the node values in ...

  • Ans. 

    The task is to print every path of a binary tree with the sum of nodes in the path as 'K'.

    • Traverse the binary tree and keep track of the current path and its sum

    • At each node, check if the sum of the current path equals 'K'

    • If yes, add the current path to the result

    • Continue traversing the left and right subtrees recursively

    • Remove the current node from the path before backtracking

  • Answered by AI
  • Q2. 

    Combination Sum Problem Statement

    Given an array of distinct positive integers ARR and a non-negative integer 'B', find all unique combinations in the array where the sum is equal to 'B'. Numbers can be c...

  • Ans. 

    The task is to find all unique combinations in an array whose sum is equal to a given target sum.

    • Use backtracking to generate all possible combinations

    • Sort the array in non-decreasing order to ensure elements in each combination are in non-decreasing order

    • Start with an empty combination and iterate through the array, adding each element to the combination and recursively calling the function with the remaining sum

    • If th...

  • Answered by AI
Round 3 - Video Call 

(3 Questions)

Round duration - 50 Minutes
Round difficulty - Medium

This Round was DS/Algo + Core round and it started with formal introduction, followed by 3 problems. We first dicussed
the approach the time complexity and proper code covering all cases for the 2 coding problems . The last question was
related to OS and was a bit theoretical .

  • Q1. 

    Merging Accounts Problem

    Given a list ACCOUNTS where each element consists of a list of strings, with the first element being the name of the account holder, and the subsequent elements being the email ad...

  • Ans. 

    The task is to merge accounts belonging to the same person based on common emails and return the merged accounts.

    • Iterate through each account and create a mapping of emails to account holders

    • Iterate through the mapping and merge accounts with common emails

    • Sort the merged accounts and return the result

  • Answered by AI
  • Q2. 

    Binary Tree Construction from Preorder and Inorder Traversal

    The goal is to construct a binary tree from given preorder and inorder traversal lists of the tree nodes.

    Example:

    Input:
    preorder = [1, 2, ...
  • Ans. 

    The task is to construct a binary tree using the given inorder and preorder traversals.

    • Use the preorder traversal to determine the root of the binary tree

    • Use the inorder traversal to determine the left and right subtrees of the root

    • Recursively construct the left and right subtrees

    • Return the root node of the constructed binary tree

  • Answered by AI
  • Q3. Can you explain the concept of demand paging?
  • Ans. 

    Demand paging is a memory management technique where pages are loaded into memory only when needed.

    • Demand paging allows for efficient memory utilization by loading pages into memory on demand.

    • It reduces the amount of initial memory required to start a process.

    • When a page is needed but not in memory, a page fault occurs and the required page is loaded from disk.

    • Demand paging allows for larger virtual memory space than p...

  • Answered by AI
Round 4 - Video Call 

(3 Questions)

Round duration - 60 minutes
Round difficulty - Medium

This was a preety intense round as I was grilled more on my System Design concepts but eventually I was able to
asnwers all the questions with some help from the interviewer.

General Tip : While preparing for Facebook Interviews , make sure you read and understand some of the most important features that Facebook incorporates like Graph Search , Adding a friend , Removing a friend , Storing Likes/Dislikes and so on. 
All these features are important to learn because at their core they are nothing but Data Structures used and implemented very elegantly . So before your next Facebook interview , do read these topics and be confident about your LLD as well as HLD skills.

  • Q1. How does Facebook store likes and dislikes?
  • Ans. 

    Facebook stores likes/dislikes using a combination of databases and caching systems.

    • Likes/dislikes are stored in a distributed database system like Cassandra or HBase.

    • Each like/dislike is associated with a user and the content being liked/disliked.

    • The database is sharded to handle the large volume of likes/dislikes.

    • Caching systems like Memcached or Redis are used to improve read performance.

    • Likes/dislikes can be stored...

  • Answered by AI
  • Q2. How does Facebook implement graph search?
  • Ans. 

    Facebook implements graph search by indexing user connections and content to enable efficient search queries.

    • Facebook indexes user connections and content to build a graph database.

    • The graph database is used to store and retrieve information about users, their relationships, and their content.

    • Graph search queries are executed by traversing the graph database to find relevant connections and content.

    • Facebook uses variou...

  • Answered by AI
  • Q3. How does Facebook Chat work?
  • Ans. 

    Facebook Chat is a real-time messaging system that allows users to send and receive instant messages.

    • Facebook Chat uses a client-server architecture.

    • It utilizes long polling or WebSockets for real-time communication.

    • Messages are stored in a message queue for delivery.

    • Chat messages are encrypted for security.

    • Facebook Chat supports features like read receipts, typing indicators, and group chats.

  • Answered by AI

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPAFacebook interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, Aptitude, OOPSTime required to prepare for the interview - 4 MonthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed before Sep 2020.

Round 1 - Coding Test 

(1 Question)

Round duration - 90 minutes
Round difficulty - Easy

This was MCQ+Coding round.

  • Q1. How can you check if two strings are anagrams of each other?
  • Ans. 

    Check if two strings are anagrams by comparing the sorted versions of the strings.

    • Sort both strings and compare if they are equal.

    • Use a hashmap to store the frequency of characters in each string and compare the maps.

    • Ignore spaces and punctuation when comparing the strings.

  • Answered by AI
Round 2 - Face to Face 

Round duration - 90 minutes
Round difficulty - Easy

This was face to face interview round.

Round 3 - Face to Face 

Round duration - 90 minutes
Round difficulty - Easy

This was face to face interview round.

Interview Preparation Tips

Professional and academic backgroundI completed Computer Science Engineering from National Institute Of Technology, Silchar, Assam. I applied for the job as SDE - 1 in SiddharthnagarEligibility criteria6 CGPAAmazon interview preparation:Topics to prepare for the interview - Basic Computer Science backgroundTime required to prepare for the interview - 6 monthsInterview preparation tips for other job seekers

Tip 1 : Participate in live contests on websites like Codechef, Codeforces etc as much as possible.
Tip 2 : Practice previous interview questions from LeetCode, GeeksForGeeks.
Tip 3 : Revise Computer Science subjects like DBMS, OOPS thoroughly.

Application resume tips for other job seekers

Add projects and Internships if you have done any and add only those things which you really know.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed before Sep 2020.

Round 1 - Coding Test 

(1 Question)

Round duration - 90 Minutes
Round difficulty - Medium

Interview started at 11:00 am. It was an online round. During the coding round I submitted optimized solution and got full acceptance of the solutions.

  • Q1. 

    Detect Cycle in a Directed Graph

    You are provided with a directed graph composed of 'N' nodes. You have a matrix called 'EDGES' with dimensions M x 2, which specifies the 'M' edges in the graph. Each edge...

  • Ans. 

    Detect cycle in a directed graph using depth-first search (DFS) algorithm.

    • Use DFS to traverse the graph and detect back edges indicating a cycle.

    • Maintain a visited array to keep track of visited nodes during traversal.

    • If a node is visited again during traversal and it is not the parent node, then a cycle exists.

    • Return true if a cycle is detected, false otherwise.

  • Answered by AI
Round 2 - Face to Face 

(1 Question)

Round duration - 80 Minutes
Round difficulty - Medium

Interview started at 10:00 am. Interview went well, I was able to connect with the interviewer and enjoyed the whole interview

  • Q1. 

    Next Smallest Palindrome Problem Statement

    Find the next smallest palindrome strictly greater than a given number 'N' represented as a string 'S'.

    Explanation:

    You are given a number in string format, a...

  • Ans. 

    Find the next smallest palindrome greater than a given number represented as a string.

    • Convert the string to an integer, find the next greater palindrome, and convert it back to a string.

    • Handle cases where the number is a palindrome or has all digits as '9'.

    • Consider both odd and even length numbers when finding the next palindrome.

  • Answered by AI
Round 3 - Face to Face 

(1 Question)

Round duration - 80 Minutes
Round difficulty - Medium

Interview started at 11:00 am. Interview went well.

  • Q1. 

    Boundary Traversal of a Binary Tree

    Given a binary tree of integers, your task is to return the boundary nodes of the tree in Anti-Clockwise direction starting from the root node.

    Input:

    The first line ...
  • Ans. 

    Return the boundary nodes of a binary tree in Anti-Clockwise direction starting from the root node.

    • Traverse the left boundary nodes in a top-down manner

    • Traverse the leaf nodes from left to right

    • Traverse the right boundary nodes in a bottom-up manner

    • Handle cases where duplicates occur in the boundary nodes

    • Implement the function without printing as printing is already managed

  • Answered by AI

Interview Preparation Tips

Eligibility criteriaGood knowledge of Data Structures, Some great projects which are used by the usersAmazon interview preparation:Topics to prepare for the interview - Data Structures, Web development, System Design, Algorithms, Dynamic Programming, Database, OS, Networking, OOPS, DevOpsTime required to prepare for the interview - 8 monthsInterview preparation tips for other job seekers

Tip 1 : For Data Structures number of questions doesn't matter. Try to understand the logic behind them and try to apply them in creating multiple scenario's. Learn them by heart. 
Tip 2 : For Web.Development Try to learn full stack development. See which part interests you more, Increase your knowledge horizon, Always try to build a system a system considering It will be served to millions of customers. By doing this 1-2 projects will increase and cover all the major things which one should learn in their career/college.

Application resume tips for other job seekers

Tip 1 : Always try to make it a single page 
Tip 2 : Always make resume company specific. eg. Data Structures part more if you are applying for MNC's eg. Amazon, Google, DE Shaw, browserstack.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed in Aug 2017.

Interview Questionnaire 

7 Questions

  • Q1. Implement Merge Sort.
  • Ans. 

    Merge Sort is a divide and conquer algorithm that sorts an array by dividing it into two halves, sorting them separately, and then merging the sorted halves.

    • Divide the array into two halves

    • Recursively sort the two halves

    • Merge the sorted halves

  • Answered by AI
  • Q2. Given a BST containing distinct integers, and a number ‘X’, find all pairs of integers in the BST whose sum is equal to ‘X’.
  • Ans. 

    Find pairs of integers in a BST whose sum is equal to a given number.

    • Traverse the BST and store the values in a hash set.

    • For each node, check if (X - node.value) exists in the hash set.

    • If yes, add the pair (node.value, X - node.value) to the result.

    • Continue traversal until all nodes are processed.

  • Answered by AI
  • Q3. Given a set of time intervals in any order, merge all overlapping intervals into one and output the result which should have only mutually exclusive intervals.
  • Ans. 

    Merge overlapping time intervals into mutually exclusive intervals.

    • Sort the intervals based on their start time.

    • Iterate through the intervals and merge overlapping intervals.

    • Output the mutually exclusive intervals.

    • Example: [(1,3), (2,6), (8,10), (15,18)] -> [(1,6), (8,10), (15,18)]

  • Answered by AI
  • Q4. What are the different types of hashing? Suggest an alternative and a better way for Linear Chaining.
  • Ans. 

    Different types of hashing and alternative for Linear Chaining

    • Different types of hashing include division, multiplication, and universal hashing

    • Alternative for Linear Chaining is Open Addressing

    • Open Addressing includes Linear Probing, Quadratic Probing, and Double Hashing

  • Answered by AI
  • Q5. Implement AVL Tree.
  • Ans. 

    An AVL tree is a self-balancing binary search tree where the heights of the left and right subtrees differ by at most one.

    • AVL tree is a binary search tree with additional balance factor for each node.

    • The balance factor is the difference between the heights of the left and right subtrees.

    • Insertion and deletion operations in AVL tree maintain the balance factor to ensure the tree remains balanced.

    • Rotations are performed ...

  • Answered by AI
  • Q6. Minimum number of squares whose sum equals to given number n.
  • Ans. 

    Find the minimum number of squares whose sum equals to a given number n.

    • Use dynamic programming to solve the problem efficiently.

    • Start with finding the square root of n and check if it is a perfect square.

    • If not, then try to find the minimum number of squares required for the remaining number.

    • Repeat the process until the remaining number becomes 0.

    • Return the minimum number of squares required for the given number n.

  • Answered by AI
  • Q7. Insertion sort for a singly linked list.
  • Ans. 

    Insertion sort for a singly linked list.

    • Traverse the list and compare each node with the previous nodes

    • If the current node is smaller, swap it with the previous node

    • Repeat until the end of the list is reached

    • Time complexity is O(n^2)

  • Answered by AI

Interview Preparation Tips

Round: Test
Experience: There were 2 coding questions (no penalty for wrong submission) and 20 Multiple Choice Questions(with negative marking). We were given 90 minutes to solve them. MCQs were based on Data Structures, OS, CN, C outputs, OOP etc.
Tips: Experience in Competitive Programming might help in solving coding questions. No constraints were mentioned and detailed Instructions related to problem were stated vaguely. So code carefully.
Duration: 1 hour 30 minutes
Total Questions: 22

Round: Technical Interview
Experience: The interviewer asked me to introduce myself and a brief introduction of the projects that I have done. She first asked me questions related to my project. After that she moved on to the data structures part.
Tips: Take your time to approach the problems and if the question is not clear ask the interviewer to explain it again.

Round: Technical Interview
Experience: The interviewer asked me about how my previous round went. After that, he asked me to introduce myself and a brief introduction of the projects that I have done. He first asked me a few questions related to my project. Then he moved on to the data structures part. In this round the interviewer gave me strict time limit for coding the solution on paper for each problem and as soon as I was done coding he gave me 2-3 minutes every time to find errors and debug my code.
Tips: Do not panic even if the interviewer sets time limit while solving problems. If the question is not clear ask the interviewer to explain it again.

College Name: The LNM Institute Of Information Technology, Jaipur

Skills evaluated in this interview

Interview Questionnaire 

16 Questions

  • Q1. Simple linked list questions-find middle element,given a pointer to second last element delete it
  • Q2. Explain insertion sort,quicksort
  • Ans. 

    Insertion sort and quicksort are sorting algorithms used to sort arrays of data.

    • Insertion sort: iterates through the array and inserts each element into its proper position.

    • Quicksort: selects a pivot element and partitions the array into two sub-arrays, one with elements less than the pivot and one with elements greater than the pivot.

    • Insertion sort is best for small arrays, while quicksort is best for large arrays.

    • Bot...

  • Answered by AI
  • Q3. Concept of virtual destructors,runtime polymorphism
  • Q4. Test cases for an installation software like check if sufficient memory available,check for a previous version,check to undo all the changes made to the system while quitting the installation. 5.2 puzzles
  • Q5. Merge two sorted linked lists using recursion
  • Ans. 

    Merge two sorted linked lists using recursion

    • Create a recursive function that compares the first nodes of both lists

    • Set the smaller node as the head of the merged list and call the function again with the next node of the smaller list

    • Base case: if one list is empty, return the other list

    • Return the merged list

  • Answered by AI
  • Q6. Given an integer(consider 4 bytes) find which byte is zero
  • Ans. 

    Given an integer, determine which byte is zero.

    • Convert the integer to a byte array using bitwise operations.

    • Iterate through the byte array and check for a zero value.

    • Return the index of the zero byte.

    • Consider endianness when converting to byte array.

  • Answered by AI
  • Q7. Program to check whether your machine is little endian or big endian
  • Ans. 

    To check endianness, create a 4-byte integer with a known value and check the byte order.

    • Create a 4-byte integer with a known value

    • Check the value of the first byte to determine endianness

    • If the first byte is the least significant, the machine is little endian

    • If the first byte is the most significant, the machine is big endian

  • Answered by AI
  • Q8. Print something before execution of main()(use static objects)
  • Ans. 

    Static objects can be used to print something before main() execution.

    • Static objects are initialized before main() execution

    • They can be used to print something before main()

    • Example: static int x = printf("Hello World!");

    • Output: Hello World! will be printed before main() execution

  • Answered by AI
  • Q9. Memory allocation for static varibles(when,which segment etc)
  • Ans. 

    Static variables are allocated memory in the data segment of the program's memory space.

    • Static variables have a fixed memory location throughout the program's execution.

    • They are initialized to zero by default.

    • If initialized explicitly, they are stored in the data segment.

    • Static variables can be accessed by any function in the program.

  • Answered by AI
  • Q10. Find space and time complexity for a recursive function(he wrote it)
  • Ans. 

    Finding space and time complexity of a recursive function.

    • Space complexity is the amount of memory used by the function.

    • Time complexity is the amount of time taken by the function to execute.

    • Recursive functions have higher space complexity due to the call stack.

    • Time complexity can be calculated using Big O notation.

    • Examples of recursive functions include factorial and Fibonacci sequence.

  • Answered by AI
  • Q11. Some questions on major project
  • Q12. Preprocessor directives,volatile keyword
  • Q13. Virtual pointer table,operator overloading,friend functions,semaphores
  • Q14. Diamond heirarchy problem
  • Ans. 

    Diamond hierarchy problem is a problem in object-oriented programming where a class inherits from multiple classes in a diamond-shaped hierarchy.

    • Occurs when a class inherits from two classes that share a common base class

    • Can lead to ambiguity in method calls and data members

    • Solved using virtual inheritance or by using interfaces

  • Answered by AI
  • Q15. Fibonacci series.(:P)
  • Q16. Puzzle

Interview Preparation Tips

Round: Test
Experience: 1. Aptitude-Mostly caselets on ordering and some easy quant questions.
2. c/c++-No objective questions.Mostly on basics(function pointers,give output of string based codes).Some simple progams(Find smallest of three numbers using conditional operators.gcd using recursion)
3.Data Structures-LCA for BST,2's compliment,reverse a doubly linked list.

College Name: NA

Skills evaluated in this interview

Interview Questionnaire 

20 Questions

  • Q1. He asked me my specialization?
  • Q2. Why not further studies? (He had noted that I was third in my batch. He appeared impressed by that
  • Q3. He asked me to tell him about my favorite project
  • Q4. He then looked at my grades. He commented that my lowest grade – B- was in Digital Image Processing. I just looked at him like a doofus thinking of what to say. But he quickly added, ‘don’t worry, it happe...
  • Q5. He then asked me a question that had been asked in Round 4, written test:Describe an optimal algorithm to find the second minimum number in an array of numbers. What is the exact number of comparisons requ...
  • Q6. Given a polygon (could be regular, irregular, convex, concave), find out whether a particular point lies inside it or outside it
  • Ans. 

    To determine if a point is inside a polygon, use the ray casting algorithm.

    • Create a line from the point to a point outside the polygon

    • Count the number of times the line intersects with the polygon edges

    • If the count is odd, the point is inside the polygon; otherwise, it is outside

  • Answered by AI
  • Q7. He asked me to explain Canny’s algorithm to him. (this was because my DIP project was related to this)
  • Q8. Then, he gave me a practical problem to solve: Suppose you are given an image which contains some text and some photos. How do you find the location of the image?
  • Q9. Which are the four storage classes in C
  • Ans. 

    The four storage classes in C are auto, register, static, and extern.

    • Auto: default storage class for all local variables

    • Register: used to define local variables that should be stored in a register instead of RAM

    • Static: used to define local variables that retain their value between function calls

    • Extern: used to declare a global variable that is defined in another file

  • Answered by AI
  • Q10. Given a program: int i; int main() { int j; int *k = (int *) malloc (sizeof(int)); … } Where are each of these variables stored?
  • Ans. 

    i is stored in global data segment, j is stored in stack, k is stored in heap.

    • i is a global variable and is stored in the global data segment

    • j is a local variable and is stored in the stack

    • k is a pointer variable and is stored in the stack, while the memory it points to is allocated on the heap using malloc()

  • Answered by AI
  • Q11. Question on polymorphisms
  • Q12. He again went back to the first question he had asked me. Once again
  • Q13. Then he wrote out some code and asked me how the compiler will generate code for it. I gave some answer, but he was clearly not satisfied. I thought it was all over by then. Then, he asked me a DIP quest...
  • Q14. Given a set of words one after another, give me a data structure so that you’ll know whether a word has appeared already or not
  • Ans. 

    Use a hash table to store the words and check for existence in constant time.

    • Create a hash table with the words as keys and a boolean value as the value.

    • For each new word, check if it exists in the hash table. If it does, it has appeared before. If not, add it to the hash table.

    • Alternatively, use a set data structure to store only the unique words and check for existence in the set.

  • Answered by AI
  • Q15. He asked me some questions on Interprocess Communication: What’s a semaphore? How are they used? He would often pick out words from my answers and ask me what they meant. He wanted to make sure that I rea...
  • Q16. He then asked me some DB fundas. Transaction. Serializability, Consistent state, etc
  • Q17. Finally, he asked me whether I had any questions
  • Q18. There is a clock at the bottom of the hill and a clock at the top of the hill. The clock at the bottom of the hill works fine but the clock at the top doesn’t. How will you synchronize the two clocks. Obv...
  • Q19. There was one more puzzle.. I don’t remember it. but I do remember that we started discussing ways of generating large prime numbers
  • Q20. We also talked a bit about my phone browser project

Interview Preparation Tips

Round: Test
Duration: 15 minutes
Total Questions: 1

Round: Test
Duration: 30 minutes
Total Questions: 2

Round: Test
Duration: 30 minutes
Total Questions: 3

Round: Test
Total Questions: 4

Round: Technical Interview
Experience: 1.When I told him that I had none as I didn’t want to specialize in this stage, he was a little surprised but appeared satisfied with my reason.2.I told him that my profile clearly indicated that I’ve been trying to get into the industry via internships, industry-funded projects right from second year, second sem. I said that I was fully sure that I didn’t want to do MS anytime soon.3.I told him about the web-browser that I had developed for cell-phones. I thought that was the only project which was closest to what Adobe was working on. He appeared satisfied with my answers.4. So people, be fully prepared to explain any anomalous grades. I was prepared with the explanation of the W in the my grade-sheet but not of the B- in DIP. I know that this is really stupid considering that I was interviewing with Adobe. Don’t make this mistake.5.I screwed up, big time in this question. I had superficially discussed this question with my friend a while ago and he had outlined an algorithm which I thought that I had understood, but I hadn’t. I started off explaining it but got stuck in the middle. He sternly told me to read it up again. One solution that I could tell him, and which I had written in the test was this Use two variables – min and second min. Initialize them by comparing the first two elements of the array. This is (1) comparison. Then, go through the entire array, from index 2 to n-1 comparing each element, first with min and then with second min, updating each variable as necessary. This will involve a worst case of two comparisons for each element. Therefore, total number of comparisons = 2*(n-2) + 1 = 2*n – 3 comparisons.I’ll try to update this with a better solution, sometime soon.6.This is an easy, straight question from graphics. You shoot a ray parallel to the x-axis passing through this point. Start with odd parity. Change parity of ray each time it intersects an edge of the polygon (consider special case of when the line passes through a vertex of the polygon. Change parity only if it passes through a vertex which has one edge above it and one edge below the ray). If the parity of ray is even when it passes through the point, it is inside the polygon, else it is not.7.This is simple. Study DIP8.I gave various alternatives – from searching for RGB components, to using OCR.. he didn’t appear fully satisfied. I think he was looking for edge-detection, but that would fail, if the text contained tables, etc.

Round: Technical Interview
Experience: He was friendly at the start but this interview was my worst. He asked me my favorite subject. I said that it was Programming. (He laughed at that)

1. static, extern, register, auto2.I started off correctly, but he was able to confuse me. He brought in shared libraries, static libraries fundas into the discussion. We had a discussion for about twenty-minutes on this. Finally, he was happy with one of my answers because I had deduced which policy made sense and answered correctly. He said that out of all the people interviewed so far (I was second last), nobody had been able to answer all of these questions correctly.3.this is easy – get it from any C++ book. He tried to confuse me again, but this time I was ready and he was finally satisfied.Then he looked at my grades and said that out of all your grades, you have only two Bs and one of them is in Compilers. Why? (Damn it. three non-A grades and that’s all they ask about. What’s wrong with this world?!)Didn’t you like Compilers? “Not in particular”, I replied. “Fine. Now, I HAVE to ask you questions on compilers”, he said.4.He again went back to the first question he had asked me. Once again5.I first suggested that we capture only a small portion of the board. To locate that portion, we could search for the chalk in the prof’s hand – of course, taking care that it had the blackboard in the background (no point capturing a video of the prof scratching his chin, na?). Further, if the prof was writing only text, we could convert the video into text by OCR and then transmitting. Simple diagrams could also be reduced to a set of vector-graphics instructions (we rarely, see the prof shading stuff). I think he liked my approach, but was not completely satisfied. Anyway, we left it at that and went forward.6.I suggested various alternatives. but he kept helping me and finally, we came up with an array of pointers to 26-trees (each node of the tree has 26 children). Store every word as a path from the root to a leaf with pointers in the correct places. For example, hello would be stored as – pointer from ‘h’ index of the root array to a node which had a pointer from ‘e’ index of it’s array to a node which had a pointer from ‘l’ index of the array.. and so on. This is both time and space efficient.7.I was able to answer all his questions, but I made the mistake of telling him, when we started off that I didn’t know much about this subject as I had done it a long time ago. He was very annoyed at that, apparently because a lot of people before me had said this.8.I was able to answer all of them. I stumbled around a bit in a few questions where I was explaining correctly, but not using the keywords that he was looking for.9.I thought that I should say something to make him realize that I was not completely stupid and so asked him whether there was any logic to the order in which the short-listed candidates were called. This turned out to be a dumb move. The order was alphabetic and he sent me off with a parting shot, saying “You guys do pattern recognition and stuff and still you can’t recognize such a simple pattern” Me and my big mouth! Moral of the story: Don’t ask questions for the sake of asking.

Round: Puzzle Interview
Experience: After the first two interviews, this one was like having a warm batch after being cold and wet for days! I did well in this one.1.You have to go up the hill and come back, with horse, without horse, getting four equations to solve four unknowns – time to go uphill – with horse, without horse, time to go downhill – with horse, without horse. Then you can go up the hill and set the clock to ‘(time when you left) + (time to go uphill with horse)’2.  I told him the funda of Mersenee primes (luckily remembered it) and he was decently impressed.

General Tips: Finally hired by Adobe. Special thanks to AmbitionBox team. Really amazing site for sharing experience. That’s all for the Adobe. They are focusing on your approach and your coding skills. All the best.
Skills: Algorithm, Data structure, C++, C, DIP
College Name: BIT Mesra

Skills evaluated in this interview

Interview Questionnaire 

12 Questions

  • Q1. Given a binary tree and an integer x, return whether the binary tree has a path from root to a leaf whose values sum to x
  • Q2. Gievn a binary tree and return all root to leaf node pathss row,col and value
  • Ans. 

    Return all root to leaf node paths in a binary tree with row, col and value.

    • Traverse the binary tree recursively and keep track of the current path.

    • When a leaf node is reached, add the path to the result array.

    • Include row, col and value of each node in the path.

    • Use an array of strings to store the paths.

  • Answered by AI
  • Q3. He then asked me to give test cases for testing this program
  • Q4. Given two unsorted arrays of numbers and asked me to find the intersection
  • Q5. GetMax() function for a stack in O(1)
  • Ans. 

    To get max value from a stack in O(1), maintain a separate stack to keep track of maximum values.

    • Create a separate stack to keep track of maximum values

    • Push the maximum value onto the stack whenever a new maximum is encountered

    • Pop the maximum value stack whenever the top element of the main stack is popped

    • Return the top element of the maximum value stack to get the maximum value in O(1)

  • Answered by AI
  • Q6. GetMax() function for a queue in O(1)
  • Ans. 

    To get max element from a queue in O(1) time complexity

    • Maintain a separate variable to keep track of the maximum element in the queue

    • Update the maximum element variable whenever a new element is added or removed from the queue

    • Return the maximum element variable when getMax() function is called

  • Answered by AI
  • Q7. Given an array in which consecutive elements differ by 1, i.e. a[i] – a[i + 1] = 1 or -1, and an element x, find the element in the array
  • Q8. Given an array, find the Next Greatest Element to the right for each element
  • Ans. 

    Find the Next Greatest Element to the right for each element in an array of strings.

    • Iterate through the array from right to left

    • Use a stack to keep track of elements

    • Pop elements from stack until a greater element is found

    • If no greater element is found, assign -1

    • Return the result array

  • Answered by AI
  • Q9. Given an expression, remove unnecessary parenthesis. For example if (((a + b)) * c) is given make it (a + b) * c, as it evaluates in the same way without those parenthesis also
  • Ans. 

    To remove unnecessary parenthesis from an expression, we need to apply a set of rules to identify and eliminate them.

    • Identify and remove parenthesis around single variables or constants

    • Identify and remove parenthesis around expressions with only one operator

    • Identify and remove parenthesis around expressions with operators of equal precedence

    • Identify and remove parenthesis around expressions with operators of different ...

  • Answered by AI
  • Q10. Given an array of integers, find the maximum product which can be formed by three numbers
  • Ans. 

    Find the maximum product of three integers in an array.

    • Sort the array in descending order.

    • Check the product of the first three numbers and the product of the first and last two numbers.

    • Return the maximum of the two products.

  • Answered by AI
  • Q11. Given an array of integers, find the length of the longest consecutive sub array which forms an AP
  • Ans. 

    Find length of longest consecutive sub array forming an AP from given array of integers.

    • Sort the array in ascending order

    • Iterate through the array and find the longest consecutive sub array forming an AP

    • Use a variable to keep track of the length of the current consecutive sub array forming an AP

    • Use another variable to keep track of the length of the longest consecutive sub array forming an AP seen so far

  • Answered by AI
  • Q12. Given a binary tree, connect all the nodes at the same level. Each node will have a next pointer; you have to make it point to the next node to its right in the same level. If there is no such node, make ...

Interview Preparation Tips

Skills: Algorithm, Data structure
College Name: NA

Skills evaluated in this interview

Contribute & help others!
anonymous
You can choose to be anonymous

Canva Interview FAQs

How many rounds are there in Canva Senior Java Developer interview?
Canva interview process usually has 1 rounds. The most common rounds in the Canva interview process are Coding Test.

Recently Viewed

SALARIES

Ashirvad Pipes

REVIEWS

Ashirvad Pipes

No Reviews

SALARIES

Advisor360°

SALARIES

Ashirvad Pipes

REVIEWS

Modak Analytics

No Reviews

INTERVIEWS

Canva

No Interviews

SALARIES

Arista Networks

SALARIES

Ashirvad Pipes

COMPANY BENEFITS

Arista Networks

No Benefits

SALARIES

Advisor360°

Tell us how to improve this page.

Canva Senior Java Developer Interview Process

based on 1 interview

Interview experience

5
  
Excellent
View more

Interview Questions from Similar Companies

Amazon Interview Questions
4.1
 • 5k Interviews
IBM Interview Questions
4.0
 • 2.3k Interviews
Oracle Interview Questions
3.7
 • 852 Interviews
Google Interview Questions
4.4
 • 829 Interviews
Zoho Interview Questions
4.3
 • 508 Interviews
Adobe Interview Questions
3.9
 • 234 Interviews
Salesforce Interview Questions
4.0
 • 224 Interviews
PayPal Interview Questions
3.9
 • 207 Interviews
Uber Interview Questions
4.2
 • 150 Interviews
View all
Compare Canva with

Adobe

3.9
Compare

Google

4.4
Compare

Microsoft Corporation

4.0
Compare

Facebook

4.3
Compare
Did you find this page helpful?
Yes No
write
Share an Interview