AI Briefing
KO

Kakao 2020 Recruitment Coding Test Solution: Implementing a Following Recommendation System

·2019.10.21 00:00

Key point

Scenario 1 was solved by approximately 62% of candidates, while Scenario 2 was solved by about 4%.

Details

Kakao released the solution for 'Kakao Following' Following Recommendation System implementation, the second problem of the 2020 offline coding test. The goal of this problem was to increase a user's following count to 20 or more in a hypothetical SNS service, requiring the design of logic that exchanges data with the server via REST API and performs daily recommendation tasks.

Recommendation Probability Calculation Criteria

The performance of the recommendation system is evaluated through simulation, and the probability that a user follows someone from the recommendation list is as follows:

  • Recommendation of unregistered contacts: 5%p increase
  • Recommendation of registered contacts: 30%p increase
  • Recommendation of people followed by registered contacts: 10%p increase per follower
  • Recommendation of people followed by people I follow: 10%p increase per follower

Various Approaches

  • Simple: Random recommendations require many attempts.
  • Greedy: Recommends in order of highest probability, but sorting may cause long execution times, making it difficult to achieve within the exam time.
  • Heuristic: Reduces the sorting scope of Greedy to shorten execution time.
  • No-sort: Eliminates the sorting process to gain execution time benefits, but may require more recommendations than Greedy.
  • Smallest: Recommends in the order of the entire user list to induce natural probability increases, with no probability calculation or sorting, resulting in short execution time.

Exam Result Analysis

Out of 349 total candidates, Python was used by 277, the most common language.

  • Scenario 1 (Fixed 100 users): 1,142 successes (approx. 45%) out of 2,521 total attempts. Approximately 62% (217 candidates) solved it.
  • Scenario 2 (3,000 users and dynamic changes): 94 successes (approx. 4%) out of 2,514 total attempts. Approximately 4% (40 candidates) solved it.

This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.

Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.