Zadanie rekrutacyjne - czy takie rozwiązanie będzie poprawne?

0

Cześć!
Biorę udział w rekrutacji na stanowisko PHP dewelopera. Zależy mi na tej pracy, ponieważ bardzo chce się rozwijać w kierunku PHP i najchętniej robiłbym to w pracy.
Napisałem jedno z dwóch zadań rekrutacyjnych - jutro wieczorem je oddaje, jednak zanim oddam chciałbym zasięgnąć języka i zapytać was czy taki sposób jakim rozwiązałem to zadanie będzie dobrze punktowany?
Pytam was, ponieważ nigdy nie miałem okazji pracować w zespole i znam wiele technik, ale nikt mi jeszcze nigdy nie powiedział, które są prawidłowe i których powinno się używać.
Treść zadania, pliki źródłowe i moje rozwiązanie zamieściłem w archiwum w załączniku.
Czekam na wasze opinie!

<?php
function findCategory($id, $list){
  foreach($list as $element){
    if($element['category_id'] == $id)
      return $element;
  }
}

function getNameFromElementInfo($translations){
  if(@!$lang = $translations["pl_P"])
    if(@!$lang = reset($translations))
      return null;

  return $lang["name"];
}

function setName($array, $list){
  foreach($array as $id=>$element){
    $categoryInfo = findCategory($element["id"], $list);
    $element['name'] = getNameFromElementInfo($categoryInfo["translations"]);
    if($childrens = $element['children']){
      $element['children'] = setName($childrens, $list);
    }
    $array[$id] = $element;
  }

  return $array;
}

function render($tree){
  foreach($tree as $el){
    $id = $el["id"];
    if(@!$name = $el["name"])
      $name = null;
    echo "$id:$name<br/>"; 
    if($childs = $el['children'])
      render($childs);
  }
}

  $treePath = './tree.json';
  $listPath = './list.json';

  if(!file_exists($treePath))
    return print("can't find file '".$treePath."'");
  if(!file_exists($listPath))
    return print("can't find file '".$listPath."'");

  $treeJson = file_get_contents($treePath);
  $tree = json_decode($treeJson,true);

  $listJson = file_get_contents($listPath);
  $list = json_decode($listJson,true);

  $treeWithNames = setName($tree, $list);

  render($treeWithNames);
  echo "<hr/>";
  render($tree);
?>
0

co znaczy
return print("can't find file '".$treePath."'");

0
Miang napisał(a):

co znaczy
return print("can't find file '".$treePath."'");

zwróć napisz nie można znaleźć pliku ścieżka;
Nie zadawaj głupich pytań tylko powiedz śmiało, że to jest źle - tylko uzasadnij proszę.

2
Miang napisał(a):

co znaczy
return print("can't find file '".$treePath."'");

Poprawne to jest w sumie, print zwraca zawsze 1^^

2

Nie ma głupich pytań są tylko głupie odpowiedzi (MSPANC)
https://www.php.net/manual/en/function.print.php

0
Miang napisał(a):

Nie ma głupich pytań są tylko ŋgłu[pie odpowiedzi (MSPANC)
https://www.php.net/manual/en/function.print.php

możesz rozwinąć?
Domyślam się, że skoro wystąpił błąd to powinienem zwrócić 0, tak? tylko czemu?

1

Nie używaj @! Nigdy!

0

nikt nie zwrócił uwagi na to, że jest to napisane strukturalnie. Czy ktoś czytał treść zadania? Ja nie wiem, ale sądziłem, że przyjdzie tu ktoś, kto odbył wiele takich rozmów i zadań rekrutacyjnych i powie mi np. że wszystkie zadania trzeba robić obiektowo.

1

Bo nikomu się nie chce jakiegoś nieznanego zipa ściągać.

0
serek napisał(a):

Bo nikomu się nie chce jakiegoś nieznanego zipa ściągać.

Treść zadania:

The exercise is to write a program which is adding name property into each leaf of given tree
structure from tree.json file with name from list.json file. You should correlate
structures through category_id from list.json and Id in tree.json.
The output should be similar to:
[

{“id”:19”, “name”:”Zdrowie i uroda”,”children”:[]},
...
]
Things to consider in your implementation

  • Tree nesting level - in some cases nesting level could be really deep
  • Testability
    Deliverables:
  • Code (github/gitlab repository)
  • README.md file containing instructions so that we know how to build and run your
    code

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0