Summary
I interviewed for a Web Scraper / AI Engineer role at a remote startup, which included a non-technical founder call, a practical web scraping assignment, and a technical discussion. Despite completing the assignment successfully, I was rejected, reflecting on my need to showcase broader skills.
Full Experience
Company: Startup (Remote) via Wellfound
Role: Web Scraper / AI Engineer
Mode: Remote
Rounds: 2
Status: Rejected
Round 1 – Call with Founder (Virtual)
The founder reached out via Wellfound. The discussion was informal and mostly non-technical—more about current affairs, general interests, and my background. He asked me to walk through my Python/AI projects (I focused too much on AI and missed the chance to show my full-stack work). Post call, I received an assignment.
Assignment:
Build a functional web scraper with an added bonus task. I completed both and submitted within the deadline.
Round 2 – Discussion with Engineer (Virtual)
We started with intros and then dived into the assignment. I explained the logic, structure, and decisions behind my approach. The engineer gave constructive feedback and also shared a more efficient way it could've been done.
He then asked some basic computer networks questions and a few around backend/API design. I tried recalling what I could, but it had been a while since I revised CN topics.
Personal Reflection:
This was a chill yet insightful experience. I gave my best in the assignment and conversations. However, I wasn’t able to showcase a broader set of skills during the first round, which might’ve impacted the decision. The engineer appreciated my work, but ultimately, I received a rejection email a few days later.
Interview Questions (1)
Build a functional web scraper with an added bonus task.
Summary
I had a phone interview with a startup where I was given a coding challenge to implement a line drawing algorithm on a grid.
Full Experience
During my phone interview at a startup, I was presented with a coding challenge that focused on drawing a straight line between two given coordinates on a grid. The task required me to implement a function that would mark the path of the line with '1's in a 2D array, aiming for the straightest possible line. I had to consider various edge cases and ensure my solution handled different orientations and lengths effectively.
Interview Questions (1)
Implement a function drawLine(M: int, N: int, start: tuple[int, int], end: tuple[int, int]) -> [[int]] that draws as straight a line as possible between the given start and end coordinates on an M x N grid. The function should return a grid representing the path of '1's from the start to the end coordinate.
def drawLine(M:int,N:int,start:tuple[int,int],end:tuple[int,int]) -> [[int]]:
pass
For example:
# Example 1 start=(0,0) end=(8,2) M,N=9,5 [ [1,0,0,0,0], [1,0,0,0,0], [1,0,0,0,0], [0,1,0,0,0], [0,1,0,0,0], [0,1,0,0,0], [0,0,1,0,0], [0,0,1,0,0], [0,0,1,0,0] ]Example 2
M,N=7,5 start=(6,0) end=(4,4) expected=[ [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,1,1], [0,0,1,0,0], [1,1,0,0,0] ]
Example 3
M,N=4,5 start=1,0 end=1,4 expected=[ [0,0,0,0,0], [1,1,1,1,1], [0,0,0,0,0], [0,0,0,0,0] ]
The line should be as straight as possible from the start to end coordinate. Consider edge cases.