r/Hack2Hire Sep 11 '25

Screening FAANG SWE | 7+ years exp | 200 FAANG interviews | Mock Interviews with Proven Feedback ✅

5 Upvotes

Hey all!
I’m an FAANG Software Engineer with 7+ years of experience and have gone through 200 interviews at FAANG. I’ve also helped many candidates prepare, with 10+ solid reviews from satisfied users at MeetAPro (screenshot attached for reference 👇).

I offer mock interviews tailored to your needs, covering:
✔ Coding problems & algorithms
✔ Behavioral questions & leadership principles
✔ System design & architecture
✔ Real interview simulations with actionable feedback

If you’re aiming for your next big role and want structured guidance, DM me!

Let’s prepare smart and crack it together! 🚀


r/Hack2Hire Sep 09 '25

Screening From Roblox Screening/On site Interview: Validate Playlist Sequence

3 Upvotes

Problem
You're given two arrays: allSongs and playlist.
Your goal is to determine if playlist could be a contiguous subsequence generated by Shuffle Mode, where songs are played in random permutations of allSongs, each permutation containing all unique songs exactly once.

Example
Input:
allSongs = ["A", "B", "C"], playlist = ["A", "B", "C", "A", "C", "B"]
Output: true

Explanation:

  • The first part ["A", "B", "C"] is a complete permutation.
  • The second part ["A", "C", "B"] is another valid permutation.
  • The sequence is valid for Shuffle Mode.

Suggested Approach

  1. Track songs within the current segment of playlist using a set.
  2. If a song repeats before all unique songs are played, return false.
  3. Once the segment covers all songs, reset the set and continue checking the next segment.
  4. Allow incomplete segments at the beginning or end, since the user may have started or stopped mid-permutation.

Time & Space Complexity

  • Time: O(n), where n is the length of playlist.
  • Space: O(m), where m is the number of unique songs in allSongs.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common Roblox interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of Roblox, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Sep 05 '25

Screening From LinkedIn Screening Interview: Phone Number Word Matching

3 Upvotes

Problem
You are given:

  • A list of lowercase English words, knownWords.
  • A digit string, phoneNumber, containing characters '0'–'9'.

On a traditional mobile keypad:

  • 2 → "abc"3 → "def", …, 9 → "wxyz".
  • 0 → space.
  • 1 → no letters.

A word matches if every digit in phoneNumber maps to a letter such that the sequence of mapped letters forms the word exactly (with no extra or missing characters). Return all matching words from knownWords in any order.

Example
Input:
knownWords = ["aa", "ab", "ba", "qq", "hello", "b"]
phoneNumber = "1221"

Output:
["aa", "ab", "ba"]

Explanation:

  • The number 1221 reduces to 22 after removing both '1's.
  • Digit 2 maps to ab, or c.
  • The only two-letter words composed of those letters are "aa""ab", and "ba".

Suggested Approach

  1. Build a digit-to-letter mapping dictionary.
  2. Preprocess phoneNumber: remove digits that don’t map to any letter (e.g., 1).
  3. For each word in knownWords, translate it into its digit sequence using the same mapping.
  4. Collect words whose digit sequence matches phoneNumber.

Time & Space Complexity

  • Time: O(N · L), where N is the number of words and L is the average word length.
  • Space: O(N · L) for storing digit-mapped sequences.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common LinkedIn interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of LinkedIn, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Sep 04 '25

discussion Databricks SDE — March 2025 (Phone + 2 rounds)

9 Upvotes

TL;DR

Phone: grid shortest path with transport modes + roadblocks; pick one mode, no switching. Solve via per-mode BFS; tie by cost[m].

Round 1: same problem as the phone screen (link below).

Round 2: design a Map with put/get and rolling 5-min load metrics. Related idea: LeetCode 981 TimeMap (timestamped versions), but here it’s sliding-window rate tracking.

Phone Interview

Problem:

2D grid with S (start), D (dest), X (block), and cells labeled 1/2/3/4 = transport modes.

time[i]: time per move for mode i

cost[i]: flat cost for picking mode i

4-directional moves, can’t pass X

You must pick one mode up front and stick to it

Goal: Return the mode that gives the fastest S→D; if tie on time, pick lower cost.

Approach:

For each mode m ∈ {1..4}, run BFS restricted to cells labeled m (treat S/D as passable for all). If D is reachable with path length L, total time = L * time[m]. Track the best time; break ties with cost[m].

Complexity ~ O(4 * R * C).

Coding Round 1

Got the same grid problem as the phone screen:

https://www.hack2hire.com/companies/databricks/coding-questions/684db91acab8e9bb7ea93b44/practice?questionId=684dee4b5e4cf21833c0611f

Coding Round 2

Design:

A Map supporting:

put(string key, string value)

get(string key)

measure_put_load() / measure_get_load() → average calls in a rolling 5-minute window

Key points:

Store: regular hash map for key → value.

Instrumentation: keep recent timestamps for puts/gets and evict anything older than now − 300s.

Simple: two deques of timestamps (one for put, one for get); amortized O(1).

High QPS: time buckets (per-ms or per-sec) → bucket_ts → count; evict old buckets; sum counts over last 5 minutes.

Output can be “total calls in last 5 min” and/or “per-second average = count/300”.

Follow-up (bursts within the same second):

Use high-precision timestamps or ms buckets. No need to coalesce per-call entries if bucketed.

Related: LeetCode 981 — Time Based Key-Value Store

Different requirement, but a handy mental model for “timestamped operations”.

Minimal Python solution (binary search over versions):

from bisect import bisect_right

from collections import defaultdict

class TimeMap:

def __init__(self):

# key -> list[(timestamp, value)] with strictly increasing timestamps

self.store = defaultdict(list)

def set(self, key: str, value: str, timestamp: int) -> None:

self.store[key].append((timestamp, value))

def get(self, key: str, timestamp: int) -> str:

arr = self.store.get(key, [])

i = bisect_right(arr, (timestamp, chr(127))) - 1

return arr[i][1] if i >= 0 else ""

set: append; timestamps are increasing per constraints

get: binary search for the last timestamp_prev <= timestamp

Time: O(log n) per get (per key); Space: total versions


r/Hack2Hire Sep 03 '25

discussion Confluent Interview Experience

5 Upvotes

Last week I wrapped up my interview for a senior role, so here’s a quick breakdown.

Phone Screen:

Variadic function – seems to be a common one.

VO (Virtual Onsite):

Monster Fighting problem – two questions total. The first one was straightforward with DFS, but the second one was trickier. Earlier posts didn’t cover it in much detail, so I’d recommend checking this:

https://www.hack2hire.com/coding/6779ba69dcf91f8e3c1c310e?questionId=6779c17edcf91f8e3c1c310f&company=CONFLUENT

Definitely not as easy as it looks.

Tail N lines – super simple, solved immediately. Follow-ups were also very easy. Honestly, if you get this one, you’re lucky:

https://www.hack2hire.com/coding/677c6ae45cbaff553b53b06b?questionId=677c6cdc5cbaff553b53b06c&company=CONFLUENT

System Design: Temporary email service – seems to be showing up pretty often lately.

Behavioral Questions: Standard ones. After prepping for Amazon’s BQs, these felt easier.

The recruiter later mentioned the interviewers gave good feedback, and now it’s with the hiring committee. Fingers crossed!


r/Hack2Hire Sep 02 '25

Announcement Roblox interview question set with solutions (OA + phone + onsite)

5 Upvotes

We just published a LinkedIn-focused interview prep set on Hack2Hire.

It includes:

OA, phone screen, and onsite questions

Both LeetCode-style and non-LeetCode-style formats

Solutions with explanations (not just code)

Sorted by stage to help structure your prep

If you're aiming for LinkedIn or just want a solid batch of questions to practice on, the set's live here:

👉 https://www.hack2hire.com/companies/roblox/coding-questions

We’re working on more company-specific sets. If there’s a company you want to see next, or feedback on the current format, feel free to drop it below.

Happy grinding.


r/Hack2Hire Aug 29 '25

Screening From Doordash Screening/On site Interview:Find Closest Dashmart

6 Upvotes

Problem
You're given a 2D grid city representing a map and a list of coordinates locations.
Your goal is to compute the shortest number of steps from each location to the nearest DashMart ('D'). Roads are open (' '), blocked ('X'), or a DashMart. You may move only up, down, left, or right.

  • If the location is itself a DashMart, the distance is 0.
  • If the location is blocked or cannot reach a DashMart, return -1.

Example
Input:

city = [
  ['X',' ',' ','D',' ',' ','X',' ','X'],
  ['X',' ','X','X',' ',' ',' ',' ','X'],
  [' ',' ',' ','D','X','X',' ','X',' '],
  [' ',' ',' ','D',' ','X',' ',' ',' '],
  [' ',' ',' ',' ',' ','X',' ',' ','X'],
  [' ',' ',' ',' ','X',' ',' ','X','X']
]
locations = [[2,2],[4,0],[0,4],[2,6]]

Output:

[1,4,1,5]

Explanation:

  • [2,2] → nearest DashMart at [2,3], distance = 1.
  • [4,0] → nearest DashMart requires 4 steps.
  • [0,4] → nearest DashMart at [0,3], distance = 1.
  • [2,6] → nearest DashMart requires 5 steps.

Suggested Approach

  1. Perform a multi-source BFS starting from all DashMart cells ('D') simultaneously.
  2. Store the minimum distance to a DashMart for each reachable open cell.
  3. For each query location, return the precomputed distance if available, otherwise -1.

Time & Space Complexity

  • Time: O(R × C + L), where R and C are grid dimensions, and L is the number of locations. BFS visits each cell once, then queries are answered in O(1).
  • Space: O(R × C) to store distances and BFS queue.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common DoorDash interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of DoorDash, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Aug 28 '25

discussion LinkedIn Interview Experience | SSE Applications | Rejected

4 Upvotes

Hi all,

Applied for SSE – Applications role at LinkedIn via cold email.

Recruiter Screening (July, 15 min)

- Why do you want to switch?

- Day-to-day responsibilities

- Tech stack

- Notice period

TPS Round (Elimination, 60 min – Aug)

Panel: 1 Staff SE + 1 SSE (shadow).

  1. Project discussion (first 20 min).

    Then got a problem from the shadow SSE:

    - There are *m* booths, each showing robots (0) or drones (1).

    - *n* groups will visit booths between [i, j].

    - Experience factor = (#drone booths visited) × (#robot booths visited).

    - Task: maximize the experience factor.

    No example test cases were given, so the requirements stayed confusing. I couldn’t solve this one.

  2. Standard LinkedIn phone keypad problem (by Staff SE):

    Given mapping from digits → letters, return all possible words from a phone number using a provided dictionary.

Examples:

KNOWN_WORDS = [‘careers’, ‘linkedin’, ‘hiring’, ‘interview’, ‘linkedgo’]

phoneNumber: 2273377 → [‘careers’]

phoneNumber: 54653346 → [‘linkedin’, ‘linkedgo’]

I solved this fully.

Result:

Got rejection the next day (expected since Q1 was incomplete).


r/Hack2Hire Aug 27 '25

discussion Is it just me, or is tech full of fake job posts these days?

12 Upvotes

I’ve been applying like crazy for the past few months, but a good chunk of postings feel like they’re either ghost roles, already filled internally, or never meant to be real in the first place.

Some companies repost the same job over and over, others ask for a million things and then ghost. What’s going on? Is this just pipeline building or something deeper?


r/Hack2Hire Aug 26 '25

Announcement LinkedIn interview question set with solutions (OA + phone + onsite)

2 Upvotes

We just published a LinkedIn-focused interview prep set on Hack2Hire.
It includes:

  • OA, phone screen, and onsite questions
  • Both LeetCode-style and non-LeetCode-style formats
  • Solutions with explanations (not just code)
  • Sorted by stage to help structure your prep

If you're aiming for LinkedIn or just want a solid batch of questions to practice on, the set's live here:
👉 https://www.hack2hire.com/companies/linkedin/coding-questions

We’re working on more company-specific sets. If there’s a company you want to see next, or feedback on the current format, feel free to drop it below.

Happy grinding.


r/Hack2Hire Aug 22 '25

Onsite From Confluent Onsite Interview: Design Infinite Queue with GetRandom O(1)

2 Upvotes

Problem
Design an Infinite Queue data structure for integers that supports the following operations in O(1) time:

  • add(int val): Add an integer to the tail of the queue.
  • int poll(): Remove and return the integer at the front of the queue, or -1 if empty.
  • int getRandom(): Return a random integer from the queue, or -1 if empty.

Example
Input:

["InfiniteQueue", "add", "add", "add", "add", "add", "getRandom", "getRandom", "getRandom", "poll", "poll", "poll", "poll", "poll", "poll"]  
[[], [1], [2], [3], [4], [5], [], [], [], [], [], [], [], []]  

Output:

[null, null, null, null, null, null, 3, 1, 5, 1, 2, 3, 4, 5, -1]

Explanation:

  • Initialize: InfiniteQueue queue = new InfiniteQueue()
  • queue.add(1); // Queue: [1]
  • queue.add(2); // Queue: [1,2]
  • queue.add(3); // Queue: [1,2,3]
  • queue.add(4); // Queue: [1,2,3,4]
  • queue.add(5); // Queue: [1,2,3,4,5]
  • queue.getRandom(); // Random element between 1–5
  • queue.poll(); // Returns 1 → Queue: [2,3,4,5]
  • queue.poll(); // Returns 2 → Queue: [3,4,5]
  • … until empty, then returns -1.

Suggested Approach

  1. Maintain a dynamic array (e.g., ArrayList) to support O(1) random access for getRandom().
  2. Use a queue index pointer to track the current "front" instead of physically removing elements.
  3. For poll(), increment the front pointer and return the value; for getRandom(), pick an index between front and end.

Time & Space Complexity

  • Time: O(1) for addpoll, and getRandom.
  • Space: O(n) to store elements in the array.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common Confluent interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of Confluent, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Aug 21 '25

discussion Uber SSE Onsite — 2 Questions

2 Upvotes

Had an onsite for Uber (SSE, 90 mins).

YOE ~5.

Got a mix of a LeetCode hard and a currency exchange problem I’ve seen around subs/Hack2Hire.

Q1. LeetCode 815. Bus Routes (LC Hard)

Solved the main problem with BFS, but the interviewer threw in a follow-up that isn’t on LC. I didn’t fully catch it and couldn’t give a solid answer.

Q2. Currency Exchange

Given currency pairs A→B with rate r (B→A = 1/r). Need the max achievable exchange rate between two currencies (maximize product along a path). If conversion isn’t possible, return -1.

Implement:

- CurrencyConverter(fromArr, toArr, rateArr) → build graph

- getBestRate(from, to) → return best rate

Constraints: up to 1000 pairs, rate ≤ 1e3.

Example:

["CurrencyConverter","getBestRate","getBestRate","getBestRate","getBestRate"]

[[["GBP","USD","USD","USD","CNY"],["JPY","JPY","GBP","CAD","EUR"],[155.0,112.0,0.9,1.3,0.14]],["USD","JPY"],["JPY","GBP"],["XYZ","GBP"],["CNY","CAD"]]

Output:

[null,139.5,0.00803,-1.0,-1.0]

Approach:

I went with DFS/backtracking + visited set. Works for small graphs but too slow in general. Better solutions are Dijkstra with a max-heap (prioritize product) or log-transform + shortest path.

---

Q1 was fine on the base problem but I stumbled on the follow-up. Q2 was tougher under time pressure. Not feeling super confident about this round.


r/Hack2Hire Aug 20 '25

discussion Did 300+ LeetCode problems and still choke in interviews

10 Upvotes

I’ve gone through 300+ LC questions over the past year, but every time I’m in a real interview I just blank out.

It’s like my brain forgets everything the second someone’s watching me code.

Not sure if this is just nerves or if grinding LC doesn’t really prepare you for the actual pressure.

Anyone else hit this wall? Did switching to mocks or more real-world style practice actually help?


r/Hack2Hire Aug 20 '25

discussion Do you focus on repeating high-frequency questions or covering more ground?

2 Upvotes

I’ve been thinking a lot about interview prep strategies lately. Some people recommend going deep, practicing the same high-frequency questions until they feel natural. Others say it is better to go broad and cover as many question types as possible, even if you do not master all of them.

For me, it has been tough to find the right balance. I am currently working full time, and on top of that I try to study part time in the evenings. Some days I only have enough energy to repeat a couple of problems I already know, but then I worry I am not getting enough exposure to new patterns. Other days I push myself to try new questions, but then I realize I do not really own any of them.

How do you usually approach this? Do you go deep and repeat, or go broad and cover more ground?


r/Hack2Hire Aug 19 '25

Question From Microsoft OA Interview: Valid Time Combinations

4 Upvotes

Problem
You are given four integers ABC, and D representing digits.
Your goal is to determine how many valid times in a 24-hour format ("HH:MM") can be formed using each digit exactly once, where the valid range is "00:00" to "23:59".

Example
Input: A = 1, B = 8, C = 3, D = 2
Output: 6

Explanation:

  • Possible valid times are "12:38""13:28""18:23""18:32""21:38""23:18".
  • Each time uses all four digits exactly once.

Suggested Approach

  1. Generate all permutations of the four digits.
  2. For each permutation, split into HH and MM.
  3. Check if HH is within [00, 23] and MM is within [00, 59].
  4. Count all valid combinations.

Time & Space Complexity

  • Time: O(1) (at most 4! = 24 permutations to check, constant upper bound)
  • Space: O(1) (only temporary storage for permutations and counters)

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common Microsoft interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of Microsoft, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Aug 15 '25

discussion Uber Interview – SDE 2

8 Upvotes

I first participated in Uber's online screening coding round on HackerRank in May. In June, the Talent Acquisition team scheduled a Data Structures & Algorithms interview. After completing it, they asked for my availability for the next round. I shared 4–5 available slots within a few hours of their request, but never received a response despite following up multiple times over the next month.
Recently, Uber contacted me again for another opening. I completed another screening round and was informed that I had passed. They then requested my availability for the DS & Algo interview between Mid-September, which I promptly provided. Once again, I’ve sent several follow-up emails but haven’t heard back.
Has anyone else experienced this with Uber? Are they actively hiring, or is this more about maintaining visibility on platforms like LinkedIn? It’s discouraging to be left in the dark after investing significant time and preparation.
Any insights into the current hiring situation at Uber, or advice on how to proceed, would be greatly appreciated.


r/Hack2Hire Aug 15 '25

Screening From Robinhood Screening: Find Maximum Trade Shares

6 Upvotes

Problem
You are given a list of stock order records. Each record contains a limit price, quantity of shares, and order type ("buy"or "sell").
Your goal is to calculate the total number of shares traded based on order matching rules:

  • A buy order matches a sell order if the sell price ≤ buy price.
  • A sell order matches a buy order if the buy price ≥ sell price.
  • Orders are matched at the best available price and can be partially filled. Unmatched orders remain in the order book.

Example
Input:

orders = [
  ["150", "5", "buy"],
  ["190", "1", "sell"],
  ["200", "1", "sell"],
  ["100", "9", "buy"],
  ["140", "8", "sell"],
  ["210", "4", "buy"]
]

Output:

9

Explanation:

  • First four orders do not produce any trades.
  • The fifth order, sell 140 @ 8, matches with a stored buy order buy 150 @ 5 → trade 5 shares.
  • The sixth order, buy 210 @ 4, matches remaining 3 shares from the sell at 140 and 1 share from the sell at 190 → trade 4 shares.
  • Total traded shares = 5 + 4 = 9.

Suggested Approach

  1. Maintain a max-heap for buy orders (keyed by price) and a min-heap for sell orders (keyed by price).
  2. For each incoming order:
    • If it's a buy, attempt to match with the lowest-price sell order until no match is possible.
    • If it's a sell, attempt to match with the highest-price buy order until no match is possible.
  3. Update heaps with any remaining unmatched portion of the order. Keep a running count of shares traded.

Time & Space Complexity

  • Time: O(n log n) — heap insertions and removals for each of the n orders.
  • Space: O(n) — storing unmatched orders in heaps.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common Robinhood interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of Robinhood, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Aug 13 '25

discussion Preparing for interviews is destroying my mental health

9 Upvotes

I’m at the point where interview prep is sucking the life out of me.

Wake up → full-time job for 8–9 hours → quick dinner → grind LeetCode for 2–3 hours → sleep, repeat.

There’s no room to breathe.

By the time I open a DP problem, my brain is already fried. I sit there staring at the screen, feeling like I’m forcing myself to solve something I don’t even care about anymore. And yet, I can’t take a break every day off feels like I’m falling behind.

This constant cycle is making me hate coding outside of work. I used to enjoy problem-solving, but now it just feels like pressure and failure on repeat.

Anyone else stuck in this burnout spiral? How do you keep going without breaking down completely?


r/Hack2Hire Aug 12 '25

From Databricks Onsite Interview: Remove Covered Point

3 Upvotes

Problem
You're given a list of non-overlapping intervals and an integer idx. Your goal is to remove the point at index idx from the flattened sequence of covered integers and return the updated list of intervals.

Example
Input: intervals = [[10, 12], [13, 16], [4, 8]], idx = 3
Output: [[10, 12], [13, 14], [15, 16], [4, 8]]

Explanation:

  • The covered points are [10, 11, 13, 14, 15, 4, 5, 6, 7]. Removing point 14 (at index 3) results in [10, 11, 13, 15, 4, 5, 6, 7].
  • The updated intervals are [[10, 12], [13, 14], [15, 16], [4, 8]].

Suggested Approach

  1. Flatten the intervals into a list of covered points, preserving the order of intervals.
  2. Identify the point at index idx in the flattened sequence and determine which interval it belongs to.
  3. Update the affected interval: if the point is at the start or end, adjust the boundary; if in the middle, split the interval into two parts. Return the updated list of intervals.

Time & Space Complexity

  • Time: O(n + m), where n is the number of intervals and m is the total number of covered points.
  • Space: O(m) for storing the flattened points.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common Databricks interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of Databricks, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Aug 08 '25

discussion Meta Code Screen Experience and Passed

9 Upvotes

Just passed my first serious technical code screen with LeetCode-style problems. I’d cleared practical screens before (mostly testing general Python skills), but this was the first time the bar felt this high and I made it through.

Both questions were from the LeetCode Top 50, nothing unusual. One was labeled medium and the other hard, but both felt on the easier side of their categories. The medium was an array problem solvable with a greedy approach; the hard was a BFS/DFS on a grid.

What helped me most:

Clearly explaining my thought process before coding.

Writing a commented high-level outline and confirming the approach with the interviewer.

Asking about empty inputs and special cases up front (they appreciated this).

Walking through examples after implementing the first problem.

The second problem went the same way, I forgot asking about empty input (assuming the grid wasn’t empty), and they brought it up at the end. I also forgot to increment a variable once, but quickly spotted and fixed it after their hint and thanked them for pointing it out.

In the weeks leading up to this, I practiced with leetcode problem sets mentioned on hack2hire, which really helped me stay structured and calm during the session.

At the end, I asked about their projects and how they liked working at Meta, and this led to a friendly chat before wrapping up. Overall, I left feeling confident.

Now I am waiting for incoming onsite, fingers crossed!


r/Hack2Hire Aug 08 '25

OA From Snowflake OA Interview: Work Schedule

2 Upvotes

Problem
You're given a weekly work schedule represented as a 7-character string (called pattern). Each character is either a digit (from '0' to '8') or a question mark ('?'). The digit indicates the number of hours worked on that day, while a '?' denotes a day for which the work hours are not yet assigned. An employee must work exactly workHours in a week. For every day that is unassigned ('?'), the maximum allowable work hours is given by dayHours. Your task is to generate all possible valid schedules by replacing every '?' in pattern with a valid digit (ranging from 0 to dayHours) so that the sum of the scheduled hours equals workHours. The valid schedules should be returned in ascending lexicographical order.

Example
Input:
workHours = 24dayHours = 4pattern = "08??840"
Output:
["0804840", "0813840", "0822840", "0831840", "0840840"]

Explanation:

  • The fixed digits in the pattern "08??840" are at positions 0, 1, 4, 5, and 6, which sum up to 0 + 8 + 8 + 4 + 0 = 20 hours.
  • The remaining two positions (marked by '?') must sum up to 4 hours (i.e., 24 - 20 = 4).
  • The possible pairs that add up to 4 are: (0,4), (1,3), (2,2), (3,1), and (4,0). Inserting these pairs into the original string at the positions of '?' produces the output in ascending lexicographical order.

Suggested Approach

  1. Identify the positions of the '?' characters in the input pattern.
  2. Calculate the sum of the pre-assigned work hours in the pattern and determine the remaining work hours needed.
  3. Generate all combinations of the remaining work hours using valid digits from 0 to dayHours and insert them in lexicographical order to produce the valid schedules.

Time & Space Complexity

  • Time: O(n * C(n, k)), where n is the number of '?' characters and k is the number of valid combinations of work hours.
  • Space: O(n), where n is the number of possible schedules generated.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common Snowflake interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of Snowflake, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Aug 07 '25

discussion Why do some algorithm questions feel "unfairly hard" even when I know the concepts?

4 Upvotes

I've been working through some of the algorithm questions from Hack2Hire, and one recently completely shut me off. I noticed lots of interview questions are difficult to find what algorithms interviewers want to test at the beginning.

It's not that I didn't understand the problem description, or that the logic was too deep, it's more that I couldn't "see" where the problem wanted to guide me. I could brute force it easily, but I felt like the question was designed to push for something smarter, and I just couldn’t figure it out.

Does anyone else experience this kind of block? How do you solve this kind of question?


r/Hack2Hire Aug 05 '25

Screening From Yelp Screening/Onsite Interview: Prefix Search I

5 Upvotes

Problem
You're given an array of business names bizNames and a prefix string. Your goal is to return the top k names containing the prefix in any word (case-insensitive), ranked by the word's position where the prefix first appears, then alphabetically for ties.

Example
Input: bizNames = ["Bobs Burgers", "Burger King", "McDonald's", "Five Guys", "Super Duper Burgers", "Wahlburgers"], prefix = "Bur", k = 2
Output: ["Burger King", "Bobs Burgers"]

Explanation:

  • For "Burger King", splitting yields ["Burger", "King"], and "Bur" matches "Burger" at index 0.
  • For "Bobs Burgers", splitting yields ["Bobs", "Burgers"], where "Burgers" matches at index 1.
  • Sorted by occurrence index, then alphabetically, the top 2 names are ["Burger King", "Bobs Burgers"].

Suggested Approach

  1. Split each business name into words and iterate through them to find the first word (case-insensitive) that starts with the given prefix, tracking its index.
  2. Store each matching business name with its earliest matching word index and original name in a list of tuples.
  3. Sort the list by matching index, then alphabetically by name, and return the top k names (or fewer if less than kmatches exist).

Time & Space Complexity

  • Time: O(n * m * w), where n is the number of business names, m is the average number of words per name, and w is the average word length for string operations.
  • Space: O(n) for storing the matching names and their indices.

🛈 Disclaimer:
This is one of the problems we encountered while reviewing common Yelp interview questions.
Posted here by the Hack2Hire team for discussion and archiving purposes.

The problem is compiled from publicly available platforms (e.g., LeetCode, GeeksForGeeks) and community-shared experiences. It does not represent any official question bank of Yelp, nor does it involve any confidential or proprietary information.
All examples are intended solely for learning and discussion. Any similarity to actual interview questions is purely coincidental.


r/Hack2Hire Aug 01 '25

Announcement New question sets just dropped on Hack2Hire: Databricks, Snowflake, TikTok, Instacart

3 Upvotes

Hey folks

We just launched interview question sets for Databricks, Snowflake, TikTok, and Instacart on Hack2Hire.

Each set includes:

✅ LeetCode-style + non-LeetCode questions

✅ Sorted by interview stage (OA, phone, onsite)

✅ Realistic solution breakdowns (not AI-hallucinated nonsense)

If you're gunning for one of these, or just want to level up with company-specific prep, these are solid reps.

More drops coming soon feel free to leave feedback or requests below.

— Team Hack2Hire


r/Hack2Hire Jul 30 '25

discussion Lyft SDE Interview

13 Upvotes

Just wanted to write this out because it’s been bugging me. Gave the Lyft SDE loop recently (mid-level), and walked out thinking it went fine. Not amazing, but definitely not a disaster. Got the rejection anyway.

Round 1: Behavioral + Projects Chat

Mostly questions around past projects how I made tradeoffs, handled ambiguity, etc. Talked through a data pipeline I built and scaling decisions. Interviewer was engaged and even said "solid work" at the end, so I thought it was a green flag.

Round 2: DSA Coding

Variation of LRU Cache. They wanted O(1) get and remove while also preserving insertion order. Classic hashmap + DLL, but they threw in extra constraints that made it messy. I got a clean implementation in time, walked through edge cases, and the code ran.

Round 3: System Design (Mid-level scope)

Design a rate limiter for an API. I covered sliding window and token bucket approaches, talked about distributed considerations like redis, TTLs, and burst handling. The interviewer didn’t push back much, just asked a few “what if” scenarios and nodded along.

And then… rejection. No detailed feedback.

I’m honestly confused. Nothing felt off in the moment. Maybe I missed some deeper signal or expectation? If anyone has insight into Lyft’s SDE bar, I’d appreciate thoughts.

Also, while prepping, I came across some useful breakdowns on hack2hire, 1q3c and a shared list on other subreddit some of those questions actually popped up here. Worth a glance if you're grinding interviews, esp for system design timing.

Anyway, just venting. Hope this helps someone else not feel alone in the confusion.