Netflix L4 Phone Screen

netflix logo
netflix
· SDE II
June 8, 2025 · 88 reads

Summary

I had a phone screen with Netflix for an L4 role, which involved solving two coding problems related to JSON object manipulation and path extraction.

Full Experience

first an easy followed by medium not complicated as it sounds

Question :

  1. Given a Json Object in the form of Map<String, Object>, and given a query to match a key by path (similar to jq), extract its value.
  2. How can you extend the functionality to support any key (“*”) match?

Note: No json parsing required.

Examples:

dict =  '{"fname": "masked_first_name", "lname": "masked_last_name", "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}' 
key = ".contacts.cell"
res =  “+1(999).999.9999”

dict =  '{"fname": "masked_first_name", "lname": "masked_last_name", "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}'  
key = ".fname"
res =  “masked_first_name”

dict = '{"fname": "masked_first_name", "lname": "masked_last_name", "contacts”:{"home”:”12345"}}’
key = ".contacts.cell"
res =  null


dict '{"fname": "jomasked_first_namehn", "lname": "masked_last_name", "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}'
key =  ".*.cell"
res = ["+1(999).999.9999"]

dict = '{"fname": "jomasked_first_namehn", "lname": {"cell": "+1(888).999.9999", "home": "+1(555).333.3333" }, "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}'
key =  ".*.cell" 
res = ["+1(888).999.9999", "+1(999).999.9999"]

key = contact.*
res = {'cell': '+1(999).999.9999', 'home': '+1(333).333.3333', 'cells': {'cell1': '121211'}}


Interview Questions (2)

1.

Extract Value from JSON Object by Path

Data Structures & Algorithms·Easy

Given a Json Object in the form of Map<String, Object>, and given a query to match a key by path (similar to jq), extract its value. Note: No json parsing required.

Examples:

dict =  '{"fname": "masked_first_name", "lname": "masked_last_name", "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}' 
key = ".contacts.cell"
res =  “+1(999).999.9999”

dict =  '{"fname": "masked_first_name", "lname": "masked_last_name", "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}'  
key = ".fname"
res =  “masked_first_name”

dict = '{"fname": "masked_first_name", "lname": "masked_last_name", "contacts”:{"home”:”12345"}}’
key = ".contacts.cell"
res =  null
2.

Extend JSON Path Extraction with Wildcard Match

Data Structures & Algorithms·Medium

How can you extend the functionality to support any key (“*”) match?

Examples:

dict '{"fname": "jomasked_first_namehn", "lname": "masked_last_name", "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}'
key =  ".*.cell"
res = ["+1(999).999.9999"]

dict = '{"fname": "jomasked_first_namehn", "lname": {"cell": "+1(888).999.9999", "home": "+1(555).333.3333" }, "contacts": {"cell": "+1(999).999.9999", "home": "+1(333).333.3333" }}'
key =  ".*.cell" 
res = ["+1(888).999.9999", "+1(999).999.9999"]

key = contact.*
res = {'cell': '+1(999).999.9999', 'home': '+1(333).333.3333', 'cells': {'cell1': '121211'}}
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!