Forum » Programiranje » Primeri nalog iz programiranja
Primeri nalog iz programiranja
Raptor F16 ::
Tema je ustvarjena z namenom ustvariti zbirko nalog, s katerimi se srečajo učenci programiranja ali kandidati na predselekciji za službeni razgovor.
V to temo objavite primere zanimivih univerzalnih nalog.
Pričakuje se:
- opis naloge in ocena težavnosti (začetnik / pripravnik / strokovnjak)
- zahtevane funkcionalnosti
- pravilen output za preverjanje rezultata.
Naloge naj bi spodbujale kreativnost in dopuščale več možnih rešitev.
Opombe:
a.) Objava primerov delujoče kode NI zaželena -> potuha.
b.)Izognite se debati o reševanju primerov.
b.1.)Primerna je razprava o težavnosti in možnih napakah / dvoumju v opisih nalog.
V to temo objavite primere zanimivih univerzalnih nalog.
Pričakuje se:
- opis naloge in ocena težavnosti (začetnik / pripravnik / strokovnjak)
- zahtevane funkcionalnosti
- pravilen output za preverjanje rezultata.
Naloge naj bi spodbujale kreativnost in dopuščale več možnih rešitev.
Opombe:
a.) Objava primerov delujoče kode NI zaželena -> potuha.
b.)Izognite se debati o reševanju primerov.
b.1.)Primerna je razprava o težavnosti in možnih napakah / dvoumju v opisih nalog.
HotBurek ::
Nekaj semplov nalog...
Firma: pro-bit.si
Naloga:
Test za preverjenje
1.Naloga
Naredi spletno aplikacijo, ki omogoča pregled avtomobilov. Gre za Single Page Application, zato sta client-side in server-side ločena in se sporazumevata preko REST API protokola.
Avtomobili se morajo sortirati po znamkah, letniku, in podobno. Za inspiracijo se lahko pogleda spletno stran Avto.net. Podatke lahko ažurirajo samo pooblaščene osebe (ponavadi administratorji).
Aplikacija je razdeljena na dva ločena dela:
- Client side more bit napisan v AngularJS. Najmanj 2 direktive se morajo napisati, če je možno, drugače je minimum 1 (več o direktivah bo pisalo na AngularJS tutorial straneh in podobno).
- Server side pa v programskem jeziku Python (3.x.x), za izdelavo APIja pa uporabi ogrodje Flask. Za programiranje v Python jeziku, si lahko pomagate z razvojnim okoljem PyCharm (https://www.jetbrains.com/pycharm/), ki ga najraje uporabljamo tudi pri nas.
Priporočljivo je prvo sestaviti server side, vaš API, vaše dostopne točke, ki jih bo potem client-side klical preko http servisov.
Podatki se naj shranjujejo v MySQL podatkovno bazo, lahko tudi v MSSQL. Python komunicira z bazo preko SQLAlchemy. Vsi SQL ukazi ne smejo biti v raw obliki. Torej nekaj takega: con.exectue('SELECT Id FROM Cars') je napačno. Pravilno je nekaj takega: con.execute(select([cars_table.c.Id])
Celotna aplikacija mora na koncu delovati na Apache strežniku. Pri čemer Apache handla client-side, kot običajno, server-side pa preko mod_wsgi modula. (OPCIJSKO - server lahko poženete kar direktno iz pythona (ponavadi run.py datoteka))
Oddana naloga more biti narejena tako, da bo ob zagonu sama zagnala skripto ali pa sama ustvarila ustrezne tabele (kam se naj vpišejo podatki za povezavo z bazo naj bo vidno). Oziroma, če gre za kako skripto (npr: CREATE TABLE Cars ...) se naj to opiše v navodilih.
Zaželjeno je da so zraven tudi kakšna navodila za uporabo, da se ve kaj treba storiti ko se projekt prvič pri nas zažene za preverjenje naloge in podobno, niso pa obvezna.
Bonus točke:
- Vmesnik za administratorje za vnos podatkov.
- Uporaba žetona za avtentikacijo (Json Web Token)
- Delovanje na vseh modernih brskalnikih (IE,FF,...)
- Enostavnost implementacije kode (komentarji, helper funkcije)
- Poleg Apache strežnika še delovanje na Nginx strežniku
- Delovanje na obeh bazah (MySQL, MSSQL)
Dodatna pomoč:
Flask: http://flask.pocoo.org/
AngularJS: https://angularjs.org
SQLAlchemy: http://www.sqlalchemy.org/library.html#...
Bootstrap: http://getbootstrap.com/
Firma: blocktrade.com
Naloga:
Test task
This task represents an important part in the interview process and enables us to get a more wholesome picture of how you approach problems
and implementation.
For the implementation please
use Python 2.x or 3.x (any web framework, Pyramid preferred)
JavaScript/TypeScript (if you decide to include front end)
publish the project on Github in a repository that you created with your
Github account (the name of the repository shouldn't include the following
words: "test", "interview", "blocktrade", "suri")
Task
Create a financial exchange. When done the project should enable at least 2 users to send limit orders and trade on your platform.
Based on your documentation we'll try to setup, run your project and check if 2 users can trade.
Firma: impol.si
Naloga:
1. Osnovna naloga
V tej nalogi lahko programer sam izbere svoje orodje/okolje.
Programer naj s pomočjo programske opreme analizira spletno stran www.impol.com, tako, da poišče v HTML-ju vse nadaljne povezave in druge linke na strani. Želja je, da programer to opravi s pomočjo rekurzije: Recursion. @ Wikipedia
Torej - s programsko opremo si naloži HTML vsebino strani, poišče vse HTML tage za povezave (https://www.w3schools.com/tags/att_a_hr... ) in mailto (https://www.w3schools.com/tags/tag_addr... ).
Programer naj gre potem v širino po celi strani in 3 nivoje v globino (primer, če stran kaže na www.kadring.si gre na to stran in potem še 2 nivoja nižje). Koda naj bo dokumentirana, vsebuje naj tudi LOG sled, iz katero bo vidno izvajanje (log datoteka).
Iskanje v širino http://wiki.fmf.uni-lj.si/wiki/Iskanje_...
Iskanje v globino http://wiki.fmf.uni-lj.si/wiki/Iskanje_...
2. Dodatna naloga 1
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET ali Java.
Programer shrani pridobljene podatke v neko relacijsko obliko v SQL podatkovno bazo po svoji izbiri (preferira se PostgreSQL). Programer lahko sam definira entitetne tipe (tabele) in atribute.
3. Dodatna naloga 2
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET ali spletno okolje https://angular.io/ + https://material.angular.io/ .
Programer v spletnem ali .NET okolju naredi vizualizacijo drevesa strani in podstrani. Grafično oblikovanje naj bo skladno s stranjo www.impol.com.
Na nek grafičen način kot so primeri: https://www.google.si/search?biw=2560&b...
Tu se prepušča programerska kreativnost ter uporaba katerekoli grafike, grafičnih knjižnjic, ki jih programer pozna.
Če dela v okolju Angular pa se priporoča uporabo knjižnjic: AG Grid, Grafi: Highcharts + Highstock + Highmaps, Font Awesome, Chart.js, PrimeNG, Ngx Translate, Moment.js, Ng2 Dragula, Monaco Editor
4. Dodatna naloga 3 (zelo zahtevna naloga)
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET ali Java (https://start.spring.io/ ali nekaj podobnega).
Programer pripravi svojo aplikacijo v obliki mikroservisa, naredi API, REST (Representational state transfer) @ Wikipedia ter ga dokumentira na način, kot je naprimer https://swagger.io/solutions/api-docume...
5. Dodatna naloga 4 (zahtevna naloga)
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET https://visualstudio.microsoft.com/xama... ali https://ionicframework.com/
Programer v spletnem ali .NET okolju za mobilne naprave naredi interaktivno vizualizacijo drevesa strani in podstrani. Grafično oblikovanje naj bo skladno s stranjo www.impol.com.
Za vsa dodatna vprašanja sta na voljo xxx in yyy.
Firma: agilcon.si
Naloga:
Naloga:
? Stopnja 1: Izdelava custom objekta Študent z atributi ime (tekstovno polje), priimek
(tekstovno polje), tip študija (redni / izredni - picklist), naziv fakultete (picklist), študijski
program (picklist), letnik (number), datum rojstva (date), naslov (tekstovna polja).
Rezultati: aplikacija z zavihkom Študenti, kjer je možno pregledovati vnešene
študente in vnašati nove študente.
? Stopnja 2 (nadaljevanje stopnje 1): Za potrebe vnosa novih študentov se naredi
VisualForce vnosni obrazec, ki overrida standardni obrazec (pripravljen v prejšnji alineji).
Na tem obrazcu se sprogramira naslednjo logiko: Če pri vnosu novega študenta
izberemo tip študija izredni, se dodatno prikaže še checkbox polje Samoplačnik. Če
izberemo tip redni, pa se ta checkbox skrije.
? Stopnja 3 (nadaljevanje stopnje 2): V stopnji 2 narejeno formo za vnos novih študentov
se dopolni tako, da so pod vnosno formo v tabeli prikazani vsi že vnešeni študenti.
Tabela naj v kolonah prikazuje vse atribute študentov. V vsaki vrstici naj bo povezava
Izbriši, ki izbriše dotičnega študenta iz baze.
? Stopnja 4 (nadaljevanje stopnje 3): Izdelano aplikacijo razširimo tako, da dodamo dva
nova custom objekta: Predmeti in Izpitni roki. Predmet naj vsebuje atribut Naziv in naj
bo povezan s študenti in izpitnimi roki. Objekt Izpitni rok naj vsebuje atribut Datum in
ura in Trajanja (minute) ter naj bo povezan s študenti in predmeti. Na osnovi tega
izdelajte dopolnitev mobilne aplikacije Salesforce1 (ne s standardnim point&click
pristopom, ampak custom maska za vnos), ki omogoča prijavo na izpitni rok: Uporabnik
na mobilni aplikaciji izbere ime študenta, predmet in termin ter odda prijavo.
? Stopnja 5 (nadaljevanje stopnje 4): V mobilno aplikacijo dodamo koledar, ki bo prikazal
prijave na izpitne roke za določeno obdobje. Uporabimo katerega od že izdelanih
koledarjev (npr. jquery koledar, ki ga najdemo na spletu) in na njem prikažemo podatke.
? Dodatno : V Salesforcu nastavite, da se lahko z Administracijskim profilom prijavi oseba
iz katerega koli IP-ja (0.0.0.0-255.255.255.255). Namig: Login IP Ranges.
Firma: rapidseedbox.com
Naloga:
1) Do you have any past references you can send to us from previous employments?
2) What are your best strengths \ super-powers if you had to choose them?
3) Please kindly fill in the following personality test and send us over the results: https://www.16personalities.com/free-pe...
4) How would you measure from 1-10 your strength in regards to management? As mentioned, we are looking in the position someone to be a leader/manager of a Linux sys admin team which consists of 6 people at the moment.
5) How would you measure from 1-10 your strength in regards to purely technical skills in Linux?
6) Please kindly write a paragraph on why you think you are a fit above all other applicants?
7) Do you have specific past experience acting as a manager in a linux position? If yes, please share more information in a few sentences.
Firma: 2e-systems.com
Naloga:
the scenario is as follows:
you got two monitoring alerts
1. free disk space is low.
2. the REST endpoint needed by the server at https://booking.airmoldova.md/json/v2.0... is not reachable
host name for the server is XX.2e.systems where XX are your first and last name initials (e.g. mine would be xx.2e.systems). The key for connecting is here: https://www.dropbox.com/...
The clock starts once you log in successfully, you have one hour.
Everything is allowed, but in case you are planning on calling someone for help, make sure you also have them on speed dial during the final interview ;)
Good luck.
Firma: pro-bit.si
Naloga:
Test za preverjenje
1.Naloga
Naredi spletno aplikacijo, ki omogoča pregled avtomobilov. Gre za Single Page Application, zato sta client-side in server-side ločena in se sporazumevata preko REST API protokola.
Avtomobili se morajo sortirati po znamkah, letniku, in podobno. Za inspiracijo se lahko pogleda spletno stran Avto.net. Podatke lahko ažurirajo samo pooblaščene osebe (ponavadi administratorji).
Aplikacija je razdeljena na dva ločena dela:
- Client side more bit napisan v AngularJS. Najmanj 2 direktive se morajo napisati, če je možno, drugače je minimum 1 (več o direktivah bo pisalo na AngularJS tutorial straneh in podobno).
- Server side pa v programskem jeziku Python (3.x.x), za izdelavo APIja pa uporabi ogrodje Flask. Za programiranje v Python jeziku, si lahko pomagate z razvojnim okoljem PyCharm (https://www.jetbrains.com/pycharm/), ki ga najraje uporabljamo tudi pri nas.
Priporočljivo je prvo sestaviti server side, vaš API, vaše dostopne točke, ki jih bo potem client-side klical preko http servisov.
Podatki se naj shranjujejo v MySQL podatkovno bazo, lahko tudi v MSSQL. Python komunicira z bazo preko SQLAlchemy. Vsi SQL ukazi ne smejo biti v raw obliki. Torej nekaj takega: con.exectue('SELECT Id FROM Cars') je napačno. Pravilno je nekaj takega: con.execute(select([cars_table.c.Id])
Celotna aplikacija mora na koncu delovati na Apache strežniku. Pri čemer Apache handla client-side, kot običajno, server-side pa preko mod_wsgi modula. (OPCIJSKO - server lahko poženete kar direktno iz pythona (ponavadi run.py datoteka))
Oddana naloga more biti narejena tako, da bo ob zagonu sama zagnala skripto ali pa sama ustvarila ustrezne tabele (kam se naj vpišejo podatki za povezavo z bazo naj bo vidno). Oziroma, če gre za kako skripto (npr: CREATE TABLE Cars ...) se naj to opiše v navodilih.
Zaželjeno je da so zraven tudi kakšna navodila za uporabo, da se ve kaj treba storiti ko se projekt prvič pri nas zažene za preverjenje naloge in podobno, niso pa obvezna.
Bonus točke:
- Vmesnik za administratorje za vnos podatkov.
- Uporaba žetona za avtentikacijo (Json Web Token)
- Delovanje na vseh modernih brskalnikih (IE,FF,...)
- Enostavnost implementacije kode (komentarji, helper funkcije)
- Poleg Apache strežnika še delovanje na Nginx strežniku
- Delovanje na obeh bazah (MySQL, MSSQL)
Dodatna pomoč:
Flask: http://flask.pocoo.org/
AngularJS: https://angularjs.org
SQLAlchemy: http://www.sqlalchemy.org/library.html#...
Bootstrap: http://getbootstrap.com/
Firma: blocktrade.com
Naloga:
Test task
This task represents an important part in the interview process and enables us to get a more wholesome picture of how you approach problems
and implementation.
For the implementation please
use Python 2.x or 3.x (any web framework, Pyramid preferred)
JavaScript/TypeScript (if you decide to include front end)
publish the project on Github in a repository that you created with your
Github account (the name of the repository shouldn't include the following
words: "test", "interview", "blocktrade", "suri")
Task
Create a financial exchange. When done the project should enable at least 2 users to send limit orders and trade on your platform.
Based on your documentation we'll try to setup, run your project and check if 2 users can trade.
Firma: impol.si
Naloga:
1. Osnovna naloga
V tej nalogi lahko programer sam izbere svoje orodje/okolje.
Programer naj s pomočjo programske opreme analizira spletno stran www.impol.com, tako, da poišče v HTML-ju vse nadaljne povezave in druge linke na strani. Želja je, da programer to opravi s pomočjo rekurzije: Recursion. @ Wikipedia
Torej - s programsko opremo si naloži HTML vsebino strani, poišče vse HTML tage za povezave (https://www.w3schools.com/tags/att_a_hr... ) in mailto (https://www.w3schools.com/tags/tag_addr... ).
Programer naj gre potem v širino po celi strani in 3 nivoje v globino (primer, če stran kaže na www.kadring.si gre na to stran in potem še 2 nivoja nižje). Koda naj bo dokumentirana, vsebuje naj tudi LOG sled, iz katero bo vidno izvajanje (log datoteka).
Iskanje v širino http://wiki.fmf.uni-lj.si/wiki/Iskanje_...
Iskanje v globino http://wiki.fmf.uni-lj.si/wiki/Iskanje_...
2. Dodatna naloga 1
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET ali Java.
Programer shrani pridobljene podatke v neko relacijsko obliko v SQL podatkovno bazo po svoji izbiri (preferira se PostgreSQL). Programer lahko sam definira entitetne tipe (tabele) in atribute.
3. Dodatna naloga 2
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET ali spletno okolje https://angular.io/ + https://material.angular.io/ .
Programer v spletnem ali .NET okolju naredi vizualizacijo drevesa strani in podstrani. Grafično oblikovanje naj bo skladno s stranjo www.impol.com.
Na nek grafičen način kot so primeri: https://www.google.si/search?biw=2560&b...
Tu se prepušča programerska kreativnost ter uporaba katerekoli grafike, grafičnih knjižnjic, ki jih programer pozna.
Če dela v okolju Angular pa se priporoča uporabo knjižnjic: AG Grid, Grafi: Highcharts + Highstock + Highmaps, Font Awesome, Chart.js, PrimeNG, Ngx Translate, Moment.js, Ng2 Dragula, Monaco Editor
4. Dodatna naloga 3 (zelo zahtevna naloga)
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET ali Java (https://start.spring.io/ ali nekaj podobnega).
Programer pripravi svojo aplikacijo v obliki mikroservisa, naredi API, REST (Representational state transfer) @ Wikipedia ter ga dokumentira na način, kot je naprimer https://swagger.io/solutions/api-docume...
5. Dodatna naloga 4 (zahtevna naloga)
V tej nalogi lahko programer sam izbere svoje orodje, preferira se .NET https://visualstudio.microsoft.com/xama... ali https://ionicframework.com/
Programer v spletnem ali .NET okolju za mobilne naprave naredi interaktivno vizualizacijo drevesa strani in podstrani. Grafično oblikovanje naj bo skladno s stranjo www.impol.com.
Za vsa dodatna vprašanja sta na voljo xxx in yyy.
Firma: agilcon.si
Naloga:
Naloga:
? Stopnja 1: Izdelava custom objekta Študent z atributi ime (tekstovno polje), priimek
(tekstovno polje), tip študija (redni / izredni - picklist), naziv fakultete (picklist), študijski
program (picklist), letnik (number), datum rojstva (date), naslov (tekstovna polja).
Rezultati: aplikacija z zavihkom Študenti, kjer je možno pregledovati vnešene
študente in vnašati nove študente.
? Stopnja 2 (nadaljevanje stopnje 1): Za potrebe vnosa novih študentov se naredi
VisualForce vnosni obrazec, ki overrida standardni obrazec (pripravljen v prejšnji alineji).
Na tem obrazcu se sprogramira naslednjo logiko: Če pri vnosu novega študenta
izberemo tip študija izredni, se dodatno prikaže še checkbox polje Samoplačnik. Če
izberemo tip redni, pa se ta checkbox skrije.
? Stopnja 3 (nadaljevanje stopnje 2): V stopnji 2 narejeno formo za vnos novih študentov
se dopolni tako, da so pod vnosno formo v tabeli prikazani vsi že vnešeni študenti.
Tabela naj v kolonah prikazuje vse atribute študentov. V vsaki vrstici naj bo povezava
Izbriši, ki izbriše dotičnega študenta iz baze.
? Stopnja 4 (nadaljevanje stopnje 3): Izdelano aplikacijo razširimo tako, da dodamo dva
nova custom objekta: Predmeti in Izpitni roki. Predmet naj vsebuje atribut Naziv in naj
bo povezan s študenti in izpitnimi roki. Objekt Izpitni rok naj vsebuje atribut Datum in
ura in Trajanja (minute) ter naj bo povezan s študenti in predmeti. Na osnovi tega
izdelajte dopolnitev mobilne aplikacije Salesforce1 (ne s standardnim point&click
pristopom, ampak custom maska za vnos), ki omogoča prijavo na izpitni rok: Uporabnik
na mobilni aplikaciji izbere ime študenta, predmet in termin ter odda prijavo.
? Stopnja 5 (nadaljevanje stopnje 4): V mobilno aplikacijo dodamo koledar, ki bo prikazal
prijave na izpitne roke za določeno obdobje. Uporabimo katerega od že izdelanih
koledarjev (npr. jquery koledar, ki ga najdemo na spletu) in na njem prikažemo podatke.
? Dodatno : V Salesforcu nastavite, da se lahko z Administracijskim profilom prijavi oseba
iz katerega koli IP-ja (0.0.0.0-255.255.255.255). Namig: Login IP Ranges.
Firma: rapidseedbox.com
Naloga:
1) Do you have any past references you can send to us from previous employments?
2) What are your best strengths \ super-powers if you had to choose them?
3) Please kindly fill in the following personality test and send us over the results: https://www.16personalities.com/free-pe...
4) How would you measure from 1-10 your strength in regards to management? As mentioned, we are looking in the position someone to be a leader/manager of a Linux sys admin team which consists of 6 people at the moment.
5) How would you measure from 1-10 your strength in regards to purely technical skills in Linux?
6) Please kindly write a paragraph on why you think you are a fit above all other applicants?
7) Do you have specific past experience acting as a manager in a linux position? If yes, please share more information in a few sentences.
Firma: 2e-systems.com
Naloga:
the scenario is as follows:
you got two monitoring alerts
1. free disk space is low.
2. the REST endpoint needed by the server at https://booking.airmoldova.md/json/v2.0... is not reachable
host name for the server is XX.2e.systems where XX are your first and last name initials (e.g. mine would be xx.2e.systems). The key for connecting is here: https://www.dropbox.com/...
The clock starts once you log in successfully, you have one hour.
Everything is allowed, but in case you are planning on calling someone for help, make sure you also have them on speed dial during the final interview ;)
Good luck.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Učenje programiranja (Front-end) (strani: 1 2 )Oddelek: Programiranje | 13610 (10706) | matjash |
» | Moje želeno delo - programerOddelek: Šola | 10022 (6199) | zzbil |
» | Kje/kako ste se naučili programiranja? (strani: 1 2 3 4 5 )Oddelek: Programiranje | 59423 (44099) | DaMachk |
» | MVC vs. AngularOddelek: Izdelava spletišč | 2694 (2284) | kod |
» | Prosim za obrazložitevOddelek: Izdelava spletišč | 1544 (1127) | alexa-lol |