Aller au contenuAller au pied de page
  • Emplois
  • Entreprises
  • Salaires
  • Pour les employeurs

      Boostez votre carrière

      Découvrez votre salaire potentiel, décrochez des emplois de rêve et partagez vos témoignages de manière anonyme.

      employer cover photo
      employer logo
      employer logo

      Primer AI

      Employeur impliqué

      À propos
      Avis
      Salaires et avantages
      Emplois
      Entretiens
      Entretiens
      Recherches associées: Avis sur Primer AI | Offres d’emploi chez Primer AI | Salaires chez Primer AI | Avantages sociaux chez Primer AI
      Entretiens chez Primer AIEntretiens d’embauche pour Software Engineer chez Primer AIEntretien chez Primer AI


      Glassdoor

      • À propos
      • Récompenses
      • Blog
      • Nous contacter
      • Guides

      Employeurs

      • Compte employeur gratuit
      • Centre employeur
      • Blog pour les employeurs

      Informations

      • Aide
      • Règles de la communauté
      • Conditions d'utilisation
      • Confidentialité et choix publicitaires
      • Ne pas vendre ni partager mes informations
      • Outil de consentement aux cookies

      Travailler avec nous

      • Annonceurs
      • Carrières
      Télécharger l'application

      • Parcourir par :
      • Entreprises
      • Emplois
      • Lieux

      Copyright © 2008-2026. Glassdoor LLC. « Glassdoor », son logo, « Worklife Pro » et « Bowls » sont des marques déposées de Glassdoor LLC.

      Entreprises suivies

      Tenez-vous au courant des dernières opportunités et profitez de conseils d’initiés en suivant les entreprises de vos rêves.

      Recherche d’emplois

      Obtenez des recommandations et des mises à jour personnalisées en démarrant vos recherches.

      Entretien pour Software Engineer

      23 mars 2019
      Employé (anonyme)
      San Francisco, CA
      Offre acceptée
      Expérience négative
      Entretien moyen

      Candidature

      Le processus a pris 3 semaines. J'ai passé un entretien chez Primer AI (San Francisco, CA) en sept. 2018

      Entretien

      -recruiter phone call -call with engineer -take-home project -onsite The process was pretty normal and efficient; it took prob less than a month from start to finish. My only gripe is that they were very disorganized around the take home. They sent me an exercise to do, I did it in the next few days, then 2 days later they sent a modified version of it (completely different project). I didn't appreciate having to do all that work just to get an onsite interview. The kicker is that when I did the onsite interview NO ON HAD EVEN LOOKED AT MY TAKE HOME PROJECT. This is ridiculous and a huge red flag. See both versions they sent below.

      Questions d'entretien [5]

      Question 1

      Take Home Project 1: Geodata​ ​Processing Many​ ​of​ ​our​ ​projects​ ​focus​ ​on​ ​processing​ ​and​ ​analyzing​ ​documents​ ​on​ ​a​ ​regular​ ​basis,​ ​some​ ​public and​ ​some​ ​proprietary.​ ​​ ​Because​ ​NLP​ ​is​ ​hard,​ ​let’s​ ​simply​ ​worry​ ​about​ ​processing​ ​location​ ​data​ ​in​ ​a scalable​ ​way. Data​ ​Description The​ ​data​ ​we’re​ ​working​ ​with​ ​is​ ​open​ ​data​ ​from​ ​Geonames.org,​ ​specifically​ a​​ ​ ​compressed​ ​dataset of​ ​global​ ​cities​ ​with​ ​>1K​ ​population​.​ ​​ ​Although​ ​it’s​ ​small​ ​enough​ ​to​ ​be​ ​inspected,​ ​the​ ​.tsv​ ​data fields​ ​are​ ​described​ ​in​ ​plain-text​ ​form​ ​at​ ​​the​ ​bottom​ ​of​ ​the​ ​index​ ​page​.​ ​​ ​There’s​ ​about​ ​150K​ ​cities in​ ​total. Processing Most​ ​data​ ​we​ ​process​ ​is​ ​normalized​ ​to​ ​a​ ​particular​ ​form​ ​so​ ​we​ ​can​ ​make​ ​some​ ​generalizable assumptions​ ​about​ ​the​ ​information​ ​we​ ​have​ ​access​ ​to.​ ​​ ​For​ ​locations,​ ​we​ ​will​ ​make​ ​up​ ​a​ ​Primer Normalized​ ​Location​ ​format​ ​that​ ​includes​ ​the​ ​following​ ​information: ● Name​ ​(Latin-1​ ​compatible) ● Shape​ ​data​ ​(Binary) ● Latitude ● Longitude ● Country​ ​Code​ ​(ISO-3166) ● Administrative​ ​Level​ ​1 ● Administrative​ ​Level​ ​2 Not​ ​only​ ​should​ ​this​ ​data​ ​be​ ​persisted,​ ​but​ ​we​ ​will​ ​also​ ​search​ ​against​ ​this​ ​database​ ​as​ ​well, either​ ​in​ ​terms​ ​of​ ​a​ ​nearest​ ​neighbors​ ​search​ ​or​ ​full-text​ ​by​ ​name. Assignment Using​ ​the​ ​system​ ​as​ ​described​ ​above,​ ​design​ ​a​ ​pipeline​ ​to​ ​process,​ ​transform,​ ​and​ ​persist​ ​the cities​ ​file​ ​sourced​ ​in​ ​two​ ​particular​ ​ways: ● As​ ​is​ ​(Single​ ​file) ● As​ ​multiple​ ​files​ ​(e.g.​ ​Each​ ​line​ ​as​ ​an​ ​individual​ ​file,​ ​same​ ​format) Assume​ ​that​ ​the​ ​only​ ​transformation​ ​that​ ​you​ ​need​ ​to​ ​handle​ ​is​ ​the​ ​form​ ​given​ ​above. You​ ​should​ ​also​ ​write​ ​a​ ​PoC​ ​version​ ​showing​ ​the​ ​single-file​ ​scenario. The​ ​design​ ​should​ ​optimize​ ​for​ ​scalability,​ ​such​ ​that​ ​increasing​ ​the​ ​number​ ​of​ ​locations​ ​(e.g. using​ ​​all​ ​the​ ​GeoNames​ ​country​ ​data​)​ ​does​ ​not​ ​yield​ ​a​ ​linear​ ​increase​ ​in​ ​wall-clock​ ​processing time. The​ ​design​ ​must​ ​address​ ​the​ ​following: ● Resource​ ​requirements​ ​as​ ​the​ ​system​ ​scales ● Developer​ ​ease​ ​of​ ​use ● Any​ ​technology​ ​dependencies ● Any​ ​shortcomings​ ​or​ ​limitations​ ​of​ ​the​ ​system Optionally,​ ​address​ ​the​ ​following​ ​longer-term​ ​concerns: ● Reprocessing​ ​data,​ ​such​ ​as​ ​propagating​ ​a​ ​shape​ ​file​ ​format​ ​change ● Non-trivial​ ​increases​ ​in​ ​processing​ ​time​ ​for​ ​an​ ​individual​ ​city​ ​(i.e.​ ​new​ ​algorithms​ ​get introduced,​ ​additional​ ​fields​ ​are​ ​added) ● Monitoring​ ​and​ ​alerting ● Location​ ​data​ ​sourced​ ​from​ ​a​ ​database​ ​instead​ ​of​ ​individual​ ​files Include​ ​any​ ​assumptions​ ​about​ ​the​ ​application​ ​as​ ​needed​ ​for​ ​simplicity,​ ​although​ ​we​ ​are available​ ​to​ ​answer​ ​any​ ​question​ ​you​ ​may​ ​have​ ​about​ ​the​ ​system,​ ​assignment,​ ​or​ ​life​ ​in​ ​general. General​ ​Assessment​ ​Criteria Although​ ​we​ ​are​ ​primarily​ ​a​ ​Python​ ​company,​ ​any​ ​tools​ ​used​ ​do​ ​not​ ​have​ ​to​ ​be​ ​in​ ​Python,​ ​they only​ ​need​ ​to​ ​be​ ​delineated.​ ​Be​ ​sure​ ​to​ ​include​ ​the​ ​purpose​ ​for​ ​each​ ​tool​ ​as​ ​it's​ ​added. Make​ ​sure​ ​you​ ​hit​ ​all​ ​the​ ​requirements.​ ​​ ​Although​ ​some​ ​are​ ​coding,​ ​some​ ​can​ ​be​ ​strictly presentational.​ ​​ ​Some​ ​interesting​ ​and​ ​free​ ​tools​ ​for​ ​simple​ ​diagram​ ​drawing,​ ​if​ ​you​ ​don’t​ ​have one​ ​of​ ​your​ ​own,​ ​are​ ​Google​ ​Draw​ ​and​ ​yUML.me.
      Répondre à cette question

      Question 2

      onsite: You have a tree represented as parent, child tuples like this: [(39, 38), (80, 70), (39, 42), (80, 91), (37, 22), (37, 39), (42, 45), (48, 37), (91, 85), (48, 60), (60, 80), (60, 50)] Write a function that returns the root of that tree.
      Répondre à cette question

      Question 3

      onsite: # 1) Write a function that, given a binary tree, will produce the mode # of the tree. # # In the event of a tie, the item with the greatest value should be returned. # class BinaryNode(object): def __init__(self, data, left, right): self.data = data self.left = left self.right = right # 2) Convert the binary case above to an N-ary case.
      Répondre à cette question

      Question 4

      onsite: """ In this problem, you'll implement Conway’s Game of Life, a kind of simulation of the interactions between "living" organisms. The game begins with a pre-seeded board of "dead" and "live" cells ("Gen 0"), and the next generation of the board is determined by applying a set of transformation rules to the current generation. For each generation, apply the following set of rules to each cell to generate the next generation's board: - Any live cell with fewer than two live neighbors dies, as if caused by underpopulation. - Any live cell with two or three live neighbors lives on to the next generation. - Any live cell with more than three live neighbors dies, as if by overpopulation. - Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction. Here's an example seed, “Blinker”: Gen 0: Gen 1: Gen 2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _| |_ _ _ _ _| |_ _ _ _ _| |_ _ O _ _| |_ _ _ _ _| |_ _ O _ _| |_ _ O _ _| |_ O O O _| |_ _ O _ _| |_ _ O _ _| |_ _ _ _ _| |_ _ O _ _| |_ _ _ _ _| |_ _ _ _ _| |_ _ _ _ _| Please implement the stub implementation provided below. """ class GameOfLife: def __init__(self, seed): pass def display(self): """Step 1: implement this stub""" pass def iterate(self): """Step 2: implement this stub""" pass blinker = [[False, False, False, False, False], [False, False, True, False, False], [False, False, True, False, False], [False, False, True, False, False], [False, False, False, False, False]] def run_blinker(): gol = GameOfLife(blinker) for i in range(5): gol.display() gol.iterate() def run_custom_example(): # Your additional test cases pass run_blinker() run_custom_example()
      Répondre à cette question

      Question 5

      phone screen: import json docid_to_title = json.loads('{"28099931907": {"content": {"title": "Zika dollars and Internet fight in play as government shutdown looms"}}, "28108959337": {"content": {"title": "Leaders express renewed optimism about flood relief as Congress aims to avoid a government shutdown"}}, "28110814722": {"content": {"title": "Senate passes stopgap spending bill, $1.1B to fight Zika"}}, "28101422554": {"content": {"title": "Senate blocks bill to avert shutdown as De..."}}, "28099132063": {"content": {"title": "Senate Dems threaten shutdown over Flint aid"}}, "28101167069": {"content": {"title": "Zika dollars, internet fight in play as government shutdown looms"}}, "28102817621": {"content": {"title": "House leaders reach deal on Flint aid, potentially averting shutdown"}}, "28108039075": {"content": {"title": "Deal reached to keep US government running, help Flint"}}, "28098698025": {"content": {"title": "Defeat of Republicans\\u2019 stop-gap spending bill brings federal government closer to a shutdown"}}, "28097027782": {"content": {"title": "Will Democrats force a government shutdown over Flint relief funds?"}}, "28111131355": {"content": {"title": "Lawmakers strike deal to avoid shutdown"}}, "28110856451": {"content": {"title": "Louisiana flood aid, $500 million, survives Senate budget fight"}}, "28106625838": {"content": {"title": "Pelosi aide says deal with Speaker Ryan covers Flint aid"}}, "28099931906": {"content": {"title": "Zika dollars and Internet fight in play as government shutdown looms"}}, "28096859458": {"content": {"title": "Are Democrats pushing the federal government toward a shutdown?"}}, "28110814723": {"content": {"title": "Senate passes stopgap spending bill, $1.1B to fight Zika"}}, "28093906031": {"content": {"title": "will democrats force a federal shutdown over Flint relief funds?"}}, "28108873175": {"content": {"title": "Senate Democrats accept deal on Flint aid, potentially averting shutdown", "sources": ["ABC", "FOX"]}}, "28103573587": {"content": {"title": "ALEXANDER : Senate Democrats\\u2019 Election Politics Are Putting Babies at Risk"}}, "28096849799": {"content": {"title": "Democrats poised to block stopgap funding bill over Flint"}}, "28098943696": {"content": {"title": "Senate blocks stopgap bill to prevent shutdown this weekend"}}, "28110942840": {"content": {"title": "Senate Passes Short-Term Government Funding Measure"}}, "28107038234": {"content": {"title": "House aides: Deal reached to help Flint, keep US gov\'t open"}}, "28084509076": {"content": {"title": "Week ahead: Spending fight shifts from Zika to Flint"}}, "28089633072": {"content": {"title": "Flint water aid spending bill\'s sticking point"}}, "28099749478": {"content": {"title": "Government shutdown looms due to partisan clash over Flint aid"}}, "28099468922": {"content": {"title": "Funding bill rejected as shutdown nears"}}, "28107540657": {"content": null}, "28098940419": {"content": {"title": ""}}, "28110838282": {"content": {"title": "Senate approves deal to keep government open, combat Zika"}}, "28093943889": {"content": {"title": "Democrats press talks as showdown vote looms on funding bill"}}, "28099506681": {"content": {"title": "Republicans ready new bid to avoid shutdown"}}, "28084188573": {"content": {"title": "Zika: Congressional showdown coming this week"}}, "28109130960": {"content": {"title": "McConnell: Let\\u2019s Keep Working Together to Pass Critical Resources"}}, "28097129455": {"content": {"title": "McConnell: We Cannot Afford to Wait Any Longer on Providing Critical Resources"}}, "28110653655": {"content": {"title": "Deal averts federal shutdown, ignores Cruz\' Internet \'giveaway\'"}}, "28110819318": {"content": {"title": "Senate passes spending bill after separate Flint aid deal"}}, "28106754872": {"content": {"title": "Democrats: Deal reached to help Flint, keep US gov\'t open"}}, "28093906030": {"content": {"title": "Will Democrats force a federal shutdown over Flint relief funds?"}}, "28108257314": {"content": {"title": "US Senate Again Blocks Bill That Includes Zika Funding"}}, "28097690131": {"content": {"title": "Cornyn: Democrats Pushing Country Towards Shutdown for Political Gain"}},...) # 1. Write a function that identifies all the unique words across all the `content.title` fields in `docid_to_title`. # 2. Write a function that computes the k most frequent bigrams across all the `content.title` fields in `docid_to_title`. # 3. Find all the duplicate titles in `content.title` fields in `docid_to_title`.
      Répondre à cette question
      6