A Pathetic Interview Experience at Cimpress

cimpress logo
cimpress
No Offer
November 18, 20250 reads

Summary

I recently had an interview experience at Cimpress that proved challenging due to the interviewer's communication style during the LLD round, despite my successful approaches to the DSA and System Design problems. Although the overall experience was frustrating, I view it as a valuable learning opportunity.

Full Experience

I recently interviewed with Cimpress, and the experience provided some valuable, albeit frustrating, insights.

The first round was a Data Structures and Algorithms (DSA) round, conducted in C++. I was presented with a problem focused on grouping numbers based on their digital root. For instance, numbers like 321, 6, and 33 would belong to the same group because their digital root is 6. I found this problem engaging and was able to implement a clean solution using in-memory data structures such as maps and vectors, which allowed me to efficiently group the numbers.

Following this, the second round consisted of a Low-Level Design (LLD) and High-Level Design (HLD) question, specifically asking me to design an LRU Cache. This is a fairly common problem, typically tackled by combining a doubly linked list and a hashmap to achieve O(1) time complexity for both `get` and `put` operations. I felt comfortable with the problem and began to explain my well-thought-out approach.

However, the second round's experience wasn't as smooth. I found the interviewer frequently interrupted my explanations, not providing sufficient space for me to articulate my thought process systematically. This made it quite challenging to walk through the design in a coherent manner. While I understand that every interviewer has their unique style, this particular interaction didn't feel very constructive or conducive to a fair assessment of my design skills. It served as a clear reminder that an interview's flow often depends as much on effective communication and active listening from both sides as it does on pure technical ability.

Ultimately, every interview, regardless of its outcome or perceived quality, serves as a learning opportunity. I am sharing this experience to offer insights to others who might be preparing for similar roles and to gently encourage companies to maintain a consistent and empathetic approach in their interview processes.

Interview Questions (2)

Q1
Group Numbers by Digital Root
Data Structures & AlgorithmsMedium

Given a list of numbers, group them based on their digital root. The digital root of a number is the single-digit value obtained by an iterative process of summing digits, on each iteration using the result from the previous iteration as the number for the current iteration until a single-digit number is reached. For example, 321 -> 3+2+1=6. 33 -> 3+3=6. 6 -> 6. All these numbers would be in the same group because their digital root is 6.

Q2
Design LRU Cache
System DesignMedium

Design and implement a Least Recently Used (LRU) cache. The get and put operations should both run in O(1) average time complexity. The design typically involves a combination of a doubly linked list and a hashmap.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!