Jump to content
php.lv forumi

e-remit

Reģistrētie lietotāji
  • Posts

    545
  • Joined

  • Last visited

Everything posted by e-remit

  1. e-remit

    Darba uzdevumi

    Tāfeles uzdevums nav gluži tāds, ko vienatnē pildīt, bet intervijas laikā: "Pastāsti, kā tu risināsi šādu gadījumu!" Uz tāfeles nav jābūt precīzam, kompilējamam kodam, bet pseidokodam, varbūt blokshēmai. Tas viss tiek rakstīts sarunājoties un tad var redzēt, kandidāta domu gājienu, īpaši, ja kandidāts ir students, par kuru tāpat skaidrs, ka viņš vēl jāapmāca.
  2. e-remit

    Darba uzdevumi

    Kādreiz man uz lapas bija daži uzdevumi, lai apjaustu pretendenta prasmes. Bija viens piemērs ar nedaudz samuķītu kodu, lai redzētu, cik pārzin PHP nianses un spēj lasīt kodu; bija pāris jautājumi, kurus zināt var tikai ar pieredzi. Pēdējais punkts bija - parādi savu koda piemēru. Jautājumi nebija daudz, vairāk, lai sarunas gaitā uzreiz varētu novērtēt. Vietā, kur pašlaik strādāju, tāfeli tieši izmanto, lai novērtētu domu gājienu, jo ir diezgan nereāli atrast cilvēku ar vajadzīgo prasmju kopumu (nav PHP), tad jānovērtē, vai šis cilvēks spēs kaut ko apgūt un izdomāt. Kurš mūsdienās ar krītu raksta?
  3. Meklēšanai vajag izmantot kādu text-search dzinēju, atbilstoši sagatavot datus. Liekas, meklēšanu gan pēc atslēgas vārdiem, gan pēc teksta, labi paveica tas pats Sphinx. Kā glabāt pašus failus - reliģijas jautājums. Galvenais, lai diskusija neaiziet šajā virzienā.
  4. Tev taisnība! Tu vienkārši nesaproti. Jā, paļāvos uz to, ka mācēsi pats uzrakstīt SQL pieprasījumu un aizpildīt to masīvu dinamiski. Es pat netestēju to kodu, cerībā, ka uztversi domu. Acīm redzot, kļūdījos! Vai šādi ir saprotamāk? <?php $dbdata = [1 => "A", 2 => "B", 3 => "C", 4 => "D"]; //Ielasa no DB // --> $sql = "SELECT DAY(datums) AS d, vertiba FROM dezuranti WHERE datums BETWEEN '2019-04-01' AND '2019-04-30'" ; if ($result = mysqli_query($link, $sql)) { while ($row = mysqli_fetch_assoc($result)) { $dbdata[$row["d"]] = $row["vertiba"]; } } Ceru, ka man nebija tev jāiekopē pilns, atkļūdots kods...
  5. emm.... Nu vispār ideja bija, ka katrai dienai ielasa vērtību, kāda tā ievadīta jau iepriekš. Tas tikai piemērā bija 4 dienas, bet bija jābūt visām dienām tajā mēnesī. Tātad, ja tu ko saglabā DB, tad attēlojamās vērtības iegūst no tās pašas DB.
  6. Vai pamanīji tai vienā rindiņā komentāru "//Ielasa no DB"? Vai tev liekas, ka es to tāpat vien pierakstīju? Jā ir izpildāms, ja pareizi uzraksta!
  7. Un, kā būtu ar šādu risinājumu? <?php //... $dbdata = [1 => "A", 2 => "B", 3 => "C", 4 => "D"]; //Ielasa no DB $opts = ["0", "A", "B", "C", "D", "E"]; for ($day = 1; $day <= $day_count; $day++, $str++) { $date = $ym . '-' . $day; if ($today == $date) { $week .= '<td class="today">' . $day; } else { $week .= '<td>' . $day; } $week .= '<br>'; $week .= '<select name="day_' . $day . '" style="background-color:#01A9DB;">'; foreach($opts as $opt) { $selected = isset($dbdata[$day]) && $dbdata[$day] == $opt ? "selected" : ""; $label = $opt == "0" ? "..." : $opt; $week .= "<option value=\"{$opt}\" {$selected}>{$label}</option>"; } $week .= '</select>'; $week .= '</td>'; } //...
  8. Viss strādā, kā tu esi uzrakstījis! Sanāk tā, ka tu: 1) Atver lapu pirmo reizi un visās izvēlnēs ir 0. 2) 2. datumā izvēlies B un saglabā. Rezultātā DB tev tiek ierakstīts, ka visos datumos ir 0, izņemot 2., kurā ir B. 3) Pēc pārlādes lapa atveras un visās izvēlnēs atkal ir 0. 4) 3. datumā izvēlies A un saglabā. DB visos datumos, bet ieskaitot 2. tiek ierakstīts 0, izņemot 3., kurā ir A. T.i. tu pats pārraksti 2. datumu ar 0 un brīnies, ka "tabula tiek pārrakstīta". Vietā, kur tev tiek sagatavots <select>, pie vajadzīgā option, kurš atbilst DB vērtībai, tev jāieraksta <option value="B" selected>.
  9. Cik dienas tev tiek padotas POST pieprasījumā? Ja visas dienas nav vienā, POST pieprasījuma dienā, tad tabulas aktuālais mēnesis tiek patīrīts, jo ciklā tu savāc POST datus no visām dienām, ieskaitot tās, kas nav padotas.
  10. Un, kur tieši ir problēma kodu izlabot tā, lai tabulu nav jāpārraksta?
  11. Nav slikti, ja dizaineris zin elementārās lietas JS skriptošanā. Problēmas palīdzēt jau nav, bet nav saprotams, ar ko tieši jāpalīdz. Tevis prasītais ir no tēmas, ka gribu dizainā ielikt kaķi, kurš tev prasīs taču tikai vienu minūti, bet esošo dizainu parādīt tev nevaru.
  12. It kā jau nekāda vaina, ja paši meklē kandidātus, bet jāņem vērā tas, ka HR cilvēks tev stāsta vienu, bet pārbauda pilnīgi cits cilvēks, kam neviens nav pateicis, kāpēc tavs pieteikums tur vispār figurē. Saņem vēl auksta ūdens šalti, ka nepārzini viņu prasīto tehnoloģiju.
  13. Šitā? INSERT INTO dezuranti (datums, vertiba) VALUES ('2019-01-01', 'A'), ('2019-01-02', 'B'), ('2019-01-03', 'C'), ('2019-01-04', 'A') ON DUPLICATE KEY UPDATE vertiba = VALUES(vertiba); ...nav problēmu!
  14. Vienkāršākais variants pie izvades vajadzīgajai vērtībai pielikt "selected" atribūtu: $week.= '<option value="A">A</option>'; $week.= '<option value="B" selected>B</option>'; $week.= '<option value="C">C</option>'; Protams, atbilstoši jāpārveido kods, lai katru `select` tagu apstrādātu atsevišķi.
  15. Kur tu izrāvi, ka CV jānorāda bērni un foto? Pēc likuma CV pat dzimšanas datus un vecumu nedrīkst pieprasīt, jo jebkāda diskriminācija pēc vecuma, ģimenes stāvokļa ir aizliegta! Ja kāds prasa, vari droši ziņot darba inspekcijai. CV arī ir jāuzskaita darba pieredze, prasmes, kursi, lai potenciālais darba devējs var novērtēt, kādu pieredzi esi ieguvis. Vispār jau par ģimenes stāvokli nedrīkst jautāt jau diezgan sen. Normāli atlases speciālisti tāpēc lavierē ar jautājumiem par hobijiem, lai netiešā veidā to noskaidrotu - izprovocē, lai kandidāti paši izstāsta, bet formāli jautājis neviens neko tādu nav. Darbinieka personību cenšas noskaidrot pārbaudes laikā.
  16. Tad jau vienkāršāka ir sortēšanas lauku taisīšana - kurā saglabā pārveidoto tekstu: "pakāpe" -> "pa0ka1pe0". Tiesa, ir algoritmi, kas mazāk vietas prasa.
  17. Jā, krīzes dēļ viņi daudzus atlaida - tāds laiks, nav jēgas turēt apvainojumu! Ja tas pavērs tev iespēju pārmaiņām, kāpēc neizmantot? Tev LinkedIn profils sakārtots? Uzprasi tur kādam darba aģentam, kas nav riktīgi ar tavu CV un motivācijas vēstuli, ja reiz negribi te nevienam rādīt savu CV!
  18. Tad uztvēru, kur problēma - trāpīt uz labi apmaksātajiem PHP darbiem bez pāris gadu PHP pieredzes pagrūti, bet ne nereāli. Jādara tas, kas vienmēr jādara, kad gribi nomainīt tehnoloģiju uz darba devēja rēķina! Viens variants, kas var nostrādāt - piesakies darbā Emergn (bijušais Exigen) un viņiem tur ir kaut kādi Laravel projekti. Tur novērtēs tavas biznesa sistēmu prasmes un var mēģināt sarunāt, ka palēnām pieslēgsies PHP projektiem.
  19. Izklausās aizdomīgi - bezmaz gribētos redzēt CV, vai nav tāds, kuru pa taisno met ārā, nelasot. Var jau būt, ka nepaveicās ar vietām, uz kurām sūti, bet 10+?.. tur jābūt vēl kam apakšā. Varbūt sūtīji no tāda e-pasta servisa, kurš visiem blacklistos?
  20. Ja esi no Liepājas, ir jau vairāki varianti, kur vari mēģināt pieteikties un dabūt kādu reālu pieredzi. Kontaktus varu iedot privāti (skaties PM), vēl vari apmeklēt kādu no IT vafeļu pasākumiem, kas katru mēnesi notiek - tur regulāri kāds meklē kandidātus.
  21. Darba likums neregulē attiecības starp juridisku personu un pašnodarbināto. Izņēmums būs tikai, ja VID konstatēs, ka faktiski tās ir slēptas darba devēja - darbinieka attiecības.
  22. @Faks, nebūs īsti šis gadījums, jo viņi nemeklē darbinieku, bet saimnieciskā darba veicēju vai juridisku personu. T.i. viņi netaisās nevienu pieņemt darbā.
  23. Atmetot to, ka kods ir šausmīgs, man smuki saglabājas! Parādi, kāda ir datubāzes struktūru! SHOW CREATE TABLE dezuranti; Iespējams, ka struktūra neatbilst tavam INSERT pieprasījumam! Uzreiz ieteikums - izmet ārā sadaļu, kas sākas ar `// DELETE LOOP`! To tabulu var iztīrīt arī otrajā sadaļā, tajā pašā MySQL sesijā! Un vispār - katru reizi iztīrīt tabulu ar TRUNCATE ir bezjēdzīgs pasākums, jo tad tu nevarēsi neko saglabāt pa vairākiem mēnešiem. Uzliec unikālo atslēgu tai kolonnai, kurā glabājas datums, tad varēsi rakstīt šādi: INSERT INTO dezuranti (datums, vertiba) VALUES ('2019-01-01', 'A') ON DUPLICATE KEY UPDATE vertiba = VALUES(vertiba);
×
×
  • Create New...