Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Sort by Last Access Time
00:00
5 left

Sort by Last Access Time

EasyPython

Problem

The Workiva platform records recent access events for documents. Given a list of document records, return a new list ordered from most recently accessed to least recently accessed.

If two documents have the same last_access timestamp, order them by document_id in ascending lexicographic order. Do not modify the input list.

Formal Specification

Implement sort_documents(documents), where documents is a list of dictionaries. Each dictionary contains:

  • document_id: a unique string
  • last_access: an integer Unix timestamp

Return a new list containing the same dictionaries in the required order. The original list and its dictionaries must remain unchanged.

Constraints

  • 0 <= len(documents) <= 10^5
  • Each document_id is a unique non-empty string of length at most 100
  • 0 <= last_access <= 10^15
  • The input list must not be modified

Function Signature

def sort_documents(documents):
Interviewer

Your question is Sort by Last Access Time. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.