Jump to content
php.lv forumi

Interesants uzdevums no darbadevējiem


kapeika

Recommended Posts

Ievadstāsts (var izlaist): Sēdēju vienu dienu skype, un pēkšņi man uzraksta draugs, kurš tagad strādā Anglijas restorānā. Saka, ka ieraudzījis, ka viņa pilsētā meklē kreatīvu cilvēku spēļu veidošanas nozarē. Viņu tas ieinteresēja un sazinājās ar viņiem. Darba piedāvātāji iedeva viņam uzdevumu, kuru izpildot, viņš tiktu intervēts. Tā kā viņš no šīs lietas daudz ko nesaprot (tāpat kā es, tikai varbūt drusciņ vairāk), viņš nolēma paprasīt, vai es kaut ko nesaprotu, no viņam iedotā uzdevuma. Nu lūk, un tā kā es apskatījos un ne velna nesapratu (domāju, ka uzdevumam nevajadzētu būt pārāk sarežģītam), nolēmu paprasīt jums, vai nevarētu pateikt kaut ko priekšā, kas ir... pat domāts izdarīt tajā uzdevumā. Zemāk ir uzdevuma nosacījumi un pievienotais fails.

 

 

Please complete this to the best of your ability and return to me over the weekend.

If you do a good job, I will be able to get you an interview next week! :)

The task is to write a class which will implement the interface as per file attached, where the interface plus other needed bits are defined.

What is interface: http://php.net/manual/en/language.oop5.interfaces.php

* Please create simple class implementing Cache interface which will be used for caching.
* Main goal is to always - if possible - use faster caching system and in the same time keep the values in database.
* Please note there are already two classes implementing Connector interface, for MEMCACHE and DATABASE so you don't have to create them
* $key it's a md5 of $value

 

Es pagaidām esmu pilnīgā miglā, bet mani tiešām interesē, vai uzdevums ir ļoti viegls vai ellīgi grūts :D

shop2net .txt

Edited by kapeika
Link to comment
Share on other sites

Uzdevums nav baigi grūts, ņemot vērā, ka ir jau Connector klase.

Viss, kas jāizdara ir aptuveni:

 

class Cache{
 public function __construct(){
$this->db=new Connector(DATABASE);
$this->mem=new Connector(MEMCACHE);
 }
 public function cache($value){
$key=md5($value);
return $this->mem->set($key,$value) and $this->db->set($key,$value);
 }
 public function retrieve($key){
return ($res=$this->mem->get($key))?$res:$this->db->get($key);
 }
 public function isCached($value){
$key=md5($value);
return ($this->mem->get($key) or $this->db->get($key))?TRUE:FALSE;
 }
}

 

Ideja tāda, ka, ja vērtība ir memcached serverī, tad atgriež no tā, ja tur nav, tad no db vai false, ja arī tur nav.

Saglabājot, saglabā abos un atgriež true, ja abos izdevās saglabāt.

 

P.S. Bet nu ja nav ne mazākās jausmas, kas jādara, domāju, ka nav pat vērts iet uz interviju.

Edited by codez
Link to comment
Share on other sites

Tev milzīgs paldies par palīdzību un viņš cer, ka viņa uzdevums darbā būs vairāk kreatīvs un ar vieglu kodēšanu, jo, kad viņš gāja uz php kursiem, tad šo vielu viņi mācījās tikai virspusēji.

 

Un tagad arī man skaidrība rodas :)

Edited by kapeika
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...