Rozmowa rekrutacyjna it
- Szczegóły
- Kategoria: Praca Programista
- Opublikowano: wtorek, 29, wrzesień 2015 07:55
- Super User
- Odsłony: 48802
Starałem się o kolejną pracę jako programista i dostałem kolejne zadnia do wykonania było ich pięć. Jedne z nich przedstawię wam do zobaczenia jakich zadań można się spodziewać na rozmowach rekrutacyjnych.
Pytanie brzmiało tak:
Napisz mechanizm micro chatu.
Użytkownik wchodzi na stronę i podaje pseudonim (bez hasła), zostaje przeniesiony do pokoju chatu, w którym może pisać tekst. Tekst widzą pozostali uczestnicy czatu.
Technologia PHP, JQuery, Mysql (może być osadzone w WordPress).
W bazie danych musi zostać odnotowana pełna historia rozmów z możliwością filtrowania jej po datach i użytkownikach.
Zaznaczę że zadanie zostało ocenione bardzo dobrze.
Zostały zachowane wszystkie wytyczne jakie zostały założone przez zleceniodawcę.
index.php
*/ include_once (dirname(__DIR__) . '/zadania-chat/'.basename('baza_czat.php')); ?>jQuery chat ber Chat Ber
Rozpocznij czat
baza_czat.php
*/ include_once (dirname(__DIR__) . '/zadania-chat/'.basename('class.db.php')); try{ $db = new DBBER; if(!empty($_POST['tresc'])){ $tr = $_POST['tresc']; }else{ $tr=0; } if(!empty($_POST['user1'])){ $s=$_POST['user1']; }else{ $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $stmt = $db->prepare('SELECT ip_chat, text_chat, name_chat FROM `zadanie` ORDER BY `id_chat` ASC'); $stmt->execute(); if($stmt->rowCount() > 0){ foreach($stmt->fetchAll() as $d){ $ss[]= $d['ip_chat']; $kk[]= $d['name_chat']; } foreach($ss as $k => $sd){ if($_SERVER['REMOTE_ADDR'] == $sd){ $s = $kk[$k]; }else{ $s= @$_POST['user']; } } }else{ throw new Exception('Brak wyników !'); } } $stmt = $db->prepare('INSERT INTO `zadanie` (`ip_chat`, `text_chat`, `name_chat`, `data_chat`) VALUES ( :ip_chat, :u_text, :u_user, :u_czas)'); $stmt->bindValue(':ip_chat', $_SERVER['REMOTE_ADDR'], PDO::PARAM_STR); $stmt->bindValue(':u_text', strip_tags($tr), PDO::PARAM_STR); $stmt->bindValue(':u_user', strip_tags($s), PDO::PARAM_STR); $stmt->bindValue(':u_czas', date("Y-m-d h:i:s"), PDO::PARAM_STR); if(!empty($tr)){ $ilosc = $stmt->execute(); } $stmt->closeCursor(); }catch(PDOException $e){ echo 'Błąd. '.$e->getMessage(); }
load-select.php
*/ include_once(dirname(__DIR__) . '/zadania-chat/'.basename('class.db.php')); try{ $db = new DBBER; $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $stmt = $db->prepare('SELECT text_chat, name_chat FROM `zadanie` ORDER BY `id_chat` ASC'); $stmt->execute(); if($stmt->rowCount() > 0){ foreach($stmt->fetchAll() as $d){ echo 'User '.$d['name_chat'].' '.$d['text_chat'].' '; } }else{ throw new Exception('Brak wyników !'); } $stmt->closeCursor(); }catch(PDOException $e){ echo 'Połączenie w baza Chat pisz() nie mogło zostać utw. '.$e->getMessage(); } ?>
Demko do przetestowania Demo mini-chat