U gudub nuxurka
Ku noqo Wareysiyada IT & teknoolajiyadda

Hage door · Wareysiyada IT & teknoolajiyadda

Horumarinta software-ka

Wuxuu daboolayaa: Software developer, backend developer, horumariyaha app-ka mobile-ka (Android, Flutter), programmer bilow ah (junior)

Waxaa loogu talagalay horumariyeyaasha codsanaya shirkadaha software-ka, shirkadaha isgaarsiinta, bangiyada, kooxaha lacagta mobile-ka iyo qaybaha dijitaalka ee NGO-yada. Waxa guddigu hubiyo, su'aalaha ay weydiiyaan, aasaaska aad dib u eegayso, iyo sida loo maareeyo layliga koodhka iyo GitHub-kaaga.

Waxa guddiyadu raadiyaan

  • Koodh shaqeeya oo waqti kooban lagu qoray: xal yar oo sax ah oo magacyo cad leh ayaa ka roon mid xariif ah oo aan shaqaynayn.
  • Hab lagu xalliyo cilladaha: waxaad akhridaa fariinta khaladka, dib u soo saartaa dhibaatada oo aad yaraysaa meesha ay ku jirto, halkii aad sadarro si nasiib ah u beddeli lahayd.
  • Caadooyinka kooxda: branch-yada Git, fariimo commit oo cad, pull request-yo, iyo inaad aqbasho dib-u-eegista koodhka (code review) adigoon isdifaacin.
  • Fahamka sida qaybuhu isugu xidhan yihiin: app-ka, API-ga, database-ka, iyo waxa dhaca marka mid ka mid ahi fashilmo.
  • Caddayn ay furi karaan: repository GitHub ah, app shaqaynaya ama demo, oo qaybtaada si cad loo sharxay.

Su'aalaha ay weydiiyaan

  1. 1“Nooga sheekee mashruuc aad dhistay. Qaybtaadu sax ahaan maxay ahayd?”

    Sababta ay u weydiiyaan: Waxay rabaan inay ogaadaan inaad dhab ahaan koodhka qortay mise tutorial ayaad raacday, iyo inaad fahantay go'aannada ku dhex jira.

    Sida looga jawaabo

    • Ku bilow dhibaatada uu xallinayo iyo cidda isticmaashay, hal jumlad.
    • Sheeg qalabka (stack-ga) iyo qaybtaada: shaashadaha, endpoint-yada ama jadwallada aad adigu qortay.
    • Sharax hal dhibaato oo adag iyo sidaad u xallisay.
    • Ku dhammee waxa aad hadda si kale u samayn lahayd.
    Tusaale jawaab
    I built a small stock app for a family pharmacy in Burao. It is a Flutter app with a Node.js API and a PostgreSQL database. I wrote all of it myself, except the login screen, which I adapted from a tutorial. The hardest problem was stock going below zero when two staff sold the same item at the same moment. I fixed it by updating the quantity inside a database transaction. If I built it again, I would write tests from the start, because I only found that bug after a week of real use.
  2. 2“Sidee u heli lahayd cillad ku dhacda isticmaalayaasha laakiin aan kaaga dhicin kombiyuutarkaaga?”

    Sababta ay u weydiiyaan: Waxay tijaabinaysaa habkaaga xallinta cilladaha iyo inaad ka fikirto kala duwanaanshaha deegaannada: xogta, qalabka, network-ga iyo nooca (version).

    Sida looga jawaabo

    • Marka hore ururi xaqiiqooyinka: tallaabooyinka saxda ah, qalabka, nooca app-ka, waqtiga iyo log-yada.
    • Isbarbar dhig deegaankooda iyo kaaga: xogta, nooca OS-ka, network gaabis ah, iyo oggolaanshaha.
    • Dib u soo saar, hagaaji, oo ku dar test si aanay mar kale u soo laaban.
    Tusaale jawaab
    First I get the exact steps, the phone model, the app version and the time it happened, then I check the server logs for that time. Many bugs that only happen for users come from their data or their network. On one project the app crashed only for users whose names had an apostrophe, like Ma'alin, which my test data never had. Once I can reproduce it, I fix it, add a test for that case, and tell the person who reported it.
  3. 3“Maxay ku kala duwan yihiin array (list) iyo hash map (dictionary)? Goormaad mid walba isticmaali lahayd?”

    Sababta ay u weydiiyaan: Waa hubin aasaasi ah oo ku saabsan qaab-dhismeedka xogta (data structures). Waxay rabaan sharaxaad fudud oo sax ah iyo isticmaal dhab ah, ee ma aha qeexid buug.

    Sida looga jawaabo

    • Array: walxo isku xigxiga oo booskooda lagu gaadho; raadinta qiime waxay ka dhigan tahay inaad mid mid u hubiso.
    • Hash map: qiimayaal lagu kaydiyo fure (key), sidaa darteed raadintoodu way degdegtaa xitaa marka ay badan yihiin.
    • Tusaale ka bixi koodhkaaga, sida in macmiil lagu helo lambarkiisa taleefanka.
  4. 4“Sidee u isticmaashaa Git markaad koox la shaqaynayso? Maxaad samaysaa marka uu kugu dhaco merge conflict?”

    Sababta ay u weydiiyaan: Kooxuhu waqti ayay ku lumiyaan Git qasan. Waxay hubinayaan inaad ka shaqayn karto koodh la wadaago adigoon jebin shaqada dadka kale.

    Sida looga jawaabo

    • Hawl kasta branch gaar ah, commit-yo yaryar oo fariimo cad leh, oo si joogto ah u soo jiid main-ka ugu dambeeyey.
    • Fur pull request oo codso dib-u-eegis ka hor intaadan isku darin (merge).
    • Conflict-ga: akhri labada nooc, hay koodhka saxda ah, kici oo tijaabi, oo weydii horumariyaha kale haddii aadan hubin.
    Tusaale jawaab
    I create a branch for each task, for example feature/sms-reminder, and commit small steps with messages that say what changed. Before I open a pull request, I pull the latest main and run the app. When I get a merge conflict, I open the file, read both versions and work out why each change was made. If the other change is a teammate's and I'm not sure, I message them before choosing. Then I run the tests again before I push.
  5. 5“Sharax waxa dhaca marka app mobile ahi codsi (request) u diro API.”

    Sababta ay u weydiiyaan: Waxay muujinaysaa inaad fahantay jidka oo dhan, ee aanad shaashaddaada oo keliya garanayn: codsiga, server-ka, database-ka, jawaabta iyo khaladaadka.

    Sida looga jawaabo

    • App-ku wuxuu diraa codsi HTTP ah: method, URL, header-yo (inta badan token) iyo body JSON ah.
    • Server-ku wuxuu hubiyaa token-ka, fuliyaa macquulka (logic), akhriyaa ama wax ku qoraa database-ka, wuxuuna soo celiyaa status code iyo JSON.
    • Sheeg waxaad samayso marka uu fashilmo: timeout, fariin cad oo isticmaalaha loo muujiyo, iyo isku-dayid kale (retry).
    Tusaale jawaab
    When the user taps Send, the app sends an HTTP POST to an endpoint like /api/payments, with a token in the header and the amount and phone number as JSON. The server checks the token, validates the data, saves the record in the database and returns a status code: 201 with the new payment as JSON, or 400 if the phone number is wrong. In the app I show a loading state, turn error codes into a clear message, and set a timeout, because mobile data can be slow.
  6. 6“Horumariye sare ah ayaa pull request-kaaga ku qoray labaatan faallo. Sidee ugu jawaabaysaa?”

    Sababta ay u weydiiyaan: Waxay rabaan inay arkaan inaad aqbali karto faallo, baran karto heerarka kooxda, oo aad si edeb leh ugu diidi karto sabab.

    Sida looga jawaabo

    • U mahad celi, akhri faallo kasta, oo marka hore hagaaji kuwa cad.
    • Wax ka weydii faallo kasta oo aadan fahmin; si deggan u sharax sababtaada haddii aad ku diiddan tahay.
    • Qor qodobbada soo noqnoqda si pull request-kaaga xiga uu faallooyin ka yar u helo.
  7. 7“Sidee u hubisaa in koodhkaagu shaqaynayo ka hor intaadan odhan waa dhammaaday?”

    Sababta ay u weydiiyaan: Waxay kala saaraysaa horumariyeyaasha dhiiba shaqo la tijaabiyey iyo kuwa tijaabinta uga taga isticmaalayaasha.

    Sida looga jawaabo

    • Tijaabi jidka caadiga ah iyo xaaladaha dhinaca (edge cases): gelin madhan, gelin khaldan, network la'aan.
    • U qor unit test-yo macquulka muhiimka ah, sida xisaabinta iyo hubinta xogta.
    • Ku tijaabi taleefan dhab ah oo qiimo jaban iyo xidhiidh gaabis ah, ee ha ku ekaan laptop-kaaga.

Tusaalooyinka jawaabaha waa English, luqadda guddiyada badankoodu isticmaalaan. Adigu erayadaada ku sheeg.

Mawduucyada dib u eeg

  • Arrays, lists and hash mapsArray ama list wuxuu walxaha u hayaa si isku xigta, waxaadna ku gaadhaa booskooda. Hash map (dictionary, object) wuxuu qiimayaasha ku kaydiyaa fure, sidaa darteed raadintu way degdegtaa. Waxay ku weydiin karaan midka aad isticmaali lahayd si macmiil lambarkiisa taleefanka loogu helo: waa hash map-ka.
  • Big O (O(1), O(n), O(n²))Hab fudud oo lagu sharxo sida shaqadu ula korto xogta. O(n) waa hal mar oo liiska la dhex maro; O(n²) waa loop gudaha loop kale ku jira, oo gaabis noqda marka diiwaanno kumanaan ahi jiraan. Diyaar u ahow inaad sheegto sababta xalkaagu O(n) u yahay iyo sidaad uga fogaatay loop isku jira.
  • Git: commit, branch, merge, pull requestCommit wuxuu kaydiyaa sawir (snapshot) koodhka ah oo fariin leh. Branch waa khad shaqo oo gooni ah. Pull request wuxuu kooxda ka codsadaa inay dib u eegaan oo ku daraan branch-kaaga. Waxay ku weydiin karaan sidaad u celiso commit khaldan oo horay loo riixay (git revert).
  • REST API and HTTP methodsREST API wuxuu kheyraadka (resources) ku bixiyaa URL-yo. GET waa akhris, POST waa abuuris, PUT ama PATCH waa cusboonaysiin, DELETE waa tirtirid. Ogow waxa uu yahay endpoint, request body iyo header, oo diyaar u ahow inaad naqshadayso laba ama saddex endpoint oo app fudud ah.
  • HTTP status codes (200, 201, 400, 401, 404, 500)200 waa OK, 201 waa la abuuray, 400 waa codsi khaldan (macmiilka ayaa xog khaldan soo diray), 401 lama galin (login ma jiro), 403 lama oggola, 404 lama helin, 500 server-ka ayaa fashilmay. Su'aal caadi ah: app-ku khalad ayuu muujinayaa; sidee status code-yadu kuugu tilmaamaan meesha aad eegayso?
  • JSONQaabka qoraal ee API-yada badankoodu xogta ku diraan: fure iyo qiime oo ku jira calaamadaha { }, liisaskana ku jira [ ]. Waxay ku tusi karaan jawaab JSON ah oo kaa codsan karaan inaad akhrido field gudaha ku jira ama aad ka hesho khaladka.
  • SQL basics and joinsSELECT, WHERE, ORDER BY, GROUP BY, iyo JOIN oo jadwallo isku xidha, tusaale macaamiisha iyo dalabaadkooda. Ogow waxa uu yahay primary key iyo foreign key, iyo sababta aad u isticmaasho parameterised query si aad uga hortagto SQL injection.
  • Unit testsTijaabooyin yaryar oo toos u socda oo hubiya in hal function uu bixiyo natiijo sax ah, tusaale in xisaabinta khidmaddu sax tahay marka lacagtu eber tahay, qadar caadi ah tahay iyo qadar aad u weyn tahay. Waxay ku tusi karaan function oo ku weydiin karaan waxaad tijaabin lahayd.
  • Debugging with logs and breakpointsBreakpoint wuxuu barnaamijka ku joojiyaa sadar gaar ah si aad u aragto qiimayaasha halkaas; log-yaduna waxay muujiyaan waxa ka dhacay server aadan joojin karin. Sharax sidaad ugu isticmaasho inaad hesho meesha qiimaha dhabta ahi kaga duwan yahay kan la filayey.
  • Environment variables and secretsPassword-yada, API key-yada iyo cinwaannada database-ka waxay galaan environment variables ama meel sirta lagu kaydiyo, weligoodna koodhka ama GitHub ma galaan. Guddigu wuxuu ku weydiin karaa waxaad samayn lahayd haddii key si khalad ah loo riixay: isla markiiba beddel (rotate), kadibna nadiifi repository-ga.

Hawlaha la sameeyo ee laga yaabo in lagu siiyo

  1. 1Koodh toos ah (30 ilaa 60 daqiiqo): dhibaato yar sida tirinta erayada soo noqnoqda, helidda walxaha labanlaaban ee liis ku jira, ama hubinta lambar taleefan. Marka hore wax ka weydii gelinta (input), qorshahaaga cod dheer ku sheeg, qor nooc fudud oo shaqeeya, kadibna hagaaji. Ku tababar toban dhibaato oo gaagaaban tifaftire caadi ah oo aan autocomplete lahayn.
  2. 2Hawl guriga lagu sameeyo (hal ilaa saddex maalmood): dhis API yar ama shaashad app ah. Commit-yada ka dhig kuwo yaryar, ku dar README sharxaya sida loo kiciyo iyo waxaad ku dari lahayd marka xigta, oo ku dar dhawr test. Waqtiga ku dhiib xitaa haddii hal feature maqan yahay, oo sheeg waxa maqan.
  3. 3Isla-eegista koodhka: waxay furayaan GitHub-kaaga ama laptop-kaaga oo ku weydiinayaan sababta aad sadar gaar ah u qortay. Habeenka ka horreeya dib u akhri mashruucaaga ugu muhiimsan. Haddii aad qayb ka mid ah u isticmaashay AI ama tutorial, sheeg qaybta iyo waxa aad beddeshay.
  4. 4Layli cillad-xallin: barnaamij gaaban oo leh hal ama laba cillad iyo test fashilmaya. Marka hore akhri fariinta khaladka iyo test-ka, dib u soo saar fashilka, kadibna hagaaji waxa ugu yar. Tallaabo kasta sharax inta aad socoto.

Su'aalaha portfolio-ga

  • GitHub-ka ku dhaji (pin) laba ama saddex repository, mid kastaana leh README: waxa uu qabto, sawirro, sida loo kiciyo, iyo qaybtaada haddii uu ahaa mashruuc koox.
  • Filo su'aashan: “Qaybtee adigu qortay, qaybtee ka timid tutorial, template ama AI?” Si sax ah uga jawaab; kala-saarid cad oo daacad ah waa la ixtiraamaa.
  • App shaqaynaya (link, ama APK taleefankaaga ku jira) ayaa ka xoog badan koodh keliya. Hubi inuu maalinta furmayo oo uu isticmaalayo xog tijaabo ah, ee aanu lahayn xogta macaamiil dhab ah.
  • Diyaar u ahow “Maxaad hagaajin lahayd?”. Magacaw hal daciifnimo oo dhab ah, sida test la'aan ama rarid gaabis ah, iyo sidaad u hagaajin lahayd.

Khaladaadka ka fogow

  • Inaad layliga tooska ah bilowdo qorid ka hor intaadan weydiin sida gelintu u eg tahay iyo waxa dhacaya marka xogtu madhan tahay ama khaldan tahay.
  • Inaad aamusto inta aad koodhka qorayso. Guddigu wuxuu qiimeeyaa fikirkaaga, ee sheeg waxaad isku dayayso iyo sababta.
  • Inaad CV-ga ku qorto siddeed luqadood oo intooda badan aanu mashruuc ka dambayn. Hal su'aal oo raacda ayaa muujisa farqiga.
  • GitHub ay ka buuxaan koobiyo tutorial ah, oo leh hal commit oo la yidhaahdo “final”, README-na aan lahayn.
  • Inaad muujiso koodh AI qoray oo aadan sadar sadar u sharxi karin.
  • Inaad password-yo ama API key-yo ku dhex reebto repository dadweyne (public) ah.

Hubin degdeg ah

5 su'aalood. Mid kasta ka jawaab si aad u aragto sharaxaadda.

  1. Su'aasha 1 ee 5

    Tallaabooyinka lagu hagaajiyo cillad la soo sheegay u kala horreysii si sax ah.

    Tallaabooyinka taabo tartiibka saxda ah.

  2. Su'aasha 2 ee 5

    Waxaad ogaatay inaad password-ka database-ka ku riixday repository GitHub oo dadweyne ah. Maxaad samaynaysaa marka hore?

  3. Su'aasha 3 ee 5

    Imtixaanka koodhka tooska ah waxaa fiican inaad aamusto si aad u feejignaato.

  4. Su'aasha 4 ee 5

    App-ku wuxuu wacay API-ga wuxuuna helay status 401. Badanaa maxay ka dhigan tahay?

  5. Su'aasha 5 ee 5

    Jawaabtee ayaa ka xoog badan su'aasha “Qaybtaadu maxay ahayd mashruucan?”

Doorar kale oo Wareysiyada IT & teknoolajiyadda ah

Dooro luqaddaadaChoose your language

Waad beddeli kartaa mar kasta. You can change this at any time.