Tabl Cynnwys[Cuddio][Dangos]
- 1. Beth yw sgriptio Python, a sut mae'n wahanol i raglennu Python?
- 2. Sut mae casgliad sbwriel Python yn gweithio?
- 3. Eglurwch y gwahaniaeth rhwng rhestr a thuple
- 4. Beth yw deall rhestri a rhowch enghraifft o'u defnydd?
- 5. Disgrifiwch y gwahaniaeth rhwng copi dwfn a chopi?
- 6. Sut mae multithreading yn cael ei gyflawni yn Python a sut mae'n wahanol i amlbrosesu?
- 7. Beth yw addurnwyr a sut maen nhw'n cael eu defnyddio yn Python?
- 8. Eglurwch y gwahaniaethau rhwng *args a **kwargs?
- 9. Sut fyddech chi'n sicrhau mai dim ond ar ôl defnyddio addurnwyr y gellir galw swyddogaeth?
- 10. Sut mae etifeddiaeth yn gweithio yn Python?
- 11. Beth yw gorlwytho a diystyru dull?
- 12. Disgrifiwch y cysyniad o amryffurfiaeth gydag enghraifft.
- 13. Eglurwch y gwahaniaeth rhwng enghreifftiau, dosbarth, a dulliau statig.
- 14. Disgrifiwch sut mae set Python yn gweithio'n fewnol.
- 15. Sut mae geiriadur yn cael ei weithredu yn Python?
- 16. Eglurwch fanteision defnyddio tuples a enwir gennych.
- 17. Sut mae'r bloc ceisio-ac eithrio yn gweithio?
- 18. Beth yw'r gwahaniaeth rhwng datganiadau codi a haeru?
- 19. Sut ydych chi'n darllen ac yn ysgrifennu data o ffeil ddeuaidd yn Python?
- 20. Eglurwch y datganiad gyda a'i fanteision wrth weithio gyda ffeil I/O.
- 21. Sut fyddech chi'n creu modiwl singleton yn Python?
- 22. Enwch ychydig o ffyrdd i wneud y defnydd gorau o'r cof mewn sgript Python.
- 23. Sut fyddech chi'n echdynnu pob cyfeiriad e-bost o linyn penodol gan ddefnyddio regex?
- 24. Eglurwch batrwm dylunio'r Ffatri a sut y caiff ei gymhwyso yn Python
- 25. Beth yw'r gwahaniaeth rhwng iterator a generadur?
- 26. Sut mae addurnwr @property yn gweithio?
- 27. Sut fyddech chi'n creu API REST sylfaenol yn Python?
- 28. Disgrifiwch sut i ddefnyddio'r llyfrgell geisiadau i wneud cais HTTP POST.
- 29. Sut byddech chi'n cysylltu â chronfa ddata PostgreSQL gan ddefnyddio Python?
- 30. Beth yw rôl ORMs yn Python ac enwi un poblogaidd?
- 31. Sut fyddech chi'n proffilio sgript Python?
- 32. Eglurwch y GIL (Global Interpreter Lock) yn CPython
- 33. Egluro async Python/aros. Sut mae'n wahanol i edafu traddodiadol?
- 34. Disgrifiwch sut y byddech chi'n defnyddio cydredol.futures Python.
- 35. Cymharwch Django a Fflasg o ran achos defnydd a scalability.
- Casgliad
Mewn cyfnod pan fo technoleg yn bodoli ym mhob agwedd o’n bywydau, Python mae sgriptio yn dod i'r amlwg fel elfen allweddol o'r seilwaith TG enfawr a chymhleth, gan gyflwyno patrwm o rwyddineb a defnyddioldeb.
Mae cryfder Python yn gorwedd nid yn unig yn ei symlrwydd cystrawennol a'i ddarllenadwyedd ond hefyd yn ei allu i addasu, sy'n caniatáu iddo bontio'r bwlch rhwng sgriptio risg isel, lefel dechreuwr a datblygu meddalwedd lefel menter, risg uchel yn rhwydd.
Mae llyfrgelloedd a fframweithiau eang Python yn paratoi'r ffordd ar gyfer antur dechnegol hylifol, llawn dychymyg, boed hynny ym meysydd dadansoddi data, datblygu gwe, deallusrwydd artiffisial, neu weinyddion rhwydwaith.
Yn ogystal â bod yn offeryn ar gyfer datrys problemau, mae Python hefyd yn meithrin awyrgylch lle mae arloesedd nid yn unig yn cael ei gofleidio ond hefyd yn cael ei ymgorffori'n naturiol diolch i'w lyfrgelloedd a'i fframweithiau enfawr, fel Django ar gyfer datblygu gwe neu Pandas ar gyfer dadansoddi data.
Mewn byd lle mae data yn frenin, mae Python yn darparu offer pwerus ar gyfer trin, dadansoddi, a delweddu data, gan arwain at fewnwelediadau gweithredadwy ac arwain dewisiadau strategol.
Nid iaith raglennu yn unig yw Python; mae hefyd yn gymuned lewyrchus, yn ganolbwynt lle mae datblygwyr, gwyddonwyr data, a selogion technoleg yn dod at ei gilydd i ddyfeisio, creu, a mynd â'r diwydiant TG i'r lefel nesaf.
Mae busnesau o bob maint yn chwilio am ddatblygwyr Python, o fusnesau newydd i sefydliadau sydd wedi hen ennill eu plwyf, fel catalyddion ar gyfer arloesi, gwella prosesau, a gwell gwasanaeth i gwsmeriaid.
Yn ogystal, mae ei natur ffynhonnell agored yn meithrin diwylliant o ddysgu a rennir a thwf cydweithredol, gan warantu y bydd yn parhau i symud ymlaen gyda'r byd technolegol sy'n newid yn gyflym.
Mae Dysgu Python yn 2023 yn fuddsoddiad mewn iaith sy’n addo aros yn gyfredol, yn hyblyg, ac yn hanfodol ar gyfer rheoli trai a thrai technoleg.
Mae'n rhoi mynediad i feysydd o dysgu peiriant, dadansoddeg data, seiberddiogelwch, a mwy, sydd i gyd yn hanfodol i lunio'r oes ddigidol.
Felly, rydym wedi llunio rhestr o'r cwestiynau cyfweliad sgriptio Python gorau i chi, a fydd yn eich galluogi i ddisgleirio fel datblygwr a chyfweld â'r cyfweliad.
1. Beth yw sgriptio Python, a sut mae'n wahanol i raglennu Python?
Mae Python yn adnabyddus am ei allu i addasu ac mae'n darparu sgiliau sgriptio a rhaglennu, pob un yn addas ar gyfer swyddi a nodau penodol.
Yn y bôn, sgriptio Python yw'r broses o ysgrifennu sgriptiau byrrach, mwy effeithlon sydd wedi'u bwriadu i reoli ffeiliau, awtomeiddio prosesau ailadroddus, neu brototeipiau syniadau cyflym.
Mae'r sgriptiau hyn, sy'n aml yn annibynnol, yn cyflawni rhestr o gamau gweithredu mewn trefn yn effeithlon.
Mae rhaglennu Python, ar y llaw arall, yn mynd ymhellach, gan bwysleisio creu rhaglenni mwy, mwy cymhleth gyda chod strwythuredig gan ddefnyddio llyfrgelloedd, fframweithiau ac arferion gorau.
Tra bod y ddau yn dod o'r un iaith, mae sgriptio yn symleiddio ac yn awtomeiddio tra bod rhaglennu yn creu ac yn dyfeisio. Gellir gweld y gwahaniaeth hwn yng nghwmpas a nodau pob disgyblaeth.
2. Sut mae casgliad sbwriel Python yn gweithio?
Elfen allweddol wrth sicrhau rheolaeth cof effeithiol yw system casglu sbwriel Python.
Mae'n gweithio'n ddiflino yn y cefndir i amddiffyn adnoddau system rhag cael eu gor-redeg gan ollyngiadau cof. Mae'r dull awtomataidd hwn yn seiliedig yn bennaf ar y dull cyfrif cyfeirnod, lle mae pob gwrthrych yn cadw golwg ar faint o wrthrychau eraill sy'n cyfeirio ato.
Daw'r gwrthrych hwn yn ymgeisydd ar gyfer adennill cof pan fydd y cyfrif hwn yn disgyn i 0, sy'n dangos nad oes angen yr eitem mwyach.
Yn ogystal, mae Python yn defnyddio casglwr sbwriel cylchol, y gallai'r dull cyfrif cyfeirio syml ei golli, i ddod o hyd i gylchoedd cyfeirio a'u clirio.
Felly, mae'r strategaeth gyfeirnodi a chasglu sbwriel cylchol â haen ddeuol yn darparu defnydd gofalus ac effeithiol o gof, gan gryfhau perfformiad Python, yn enwedig mewn cymwysiadau cof-ddwys.
Mae sampl cod syml yn dangos sut i ryngwynebu â system casglu sbwriel Python wedi'i ddarparu isod:
Cynhyrchir dau wrthrych yn y dyfyniad hwn a'u croesgyfeirio i sefydlu cylchred. Yna caiff y casglwr sbwriel ei sbarduno â llaw gan ddefnyddio gc.collect(), gan ddangos sut y gall rhaglenwyr ymgysylltu â mecanwaith rheoli cof Python yn ôl yr angen.
3. Eglurwch y gwahaniaeth rhwng rhestr a thuple
Mae rhestrau a thuples yn gynwysyddion effeithiol ar gyfer data yn y byd Python, ond mae ganddyn nhw wahanol briodweddau sy'n bodloni gwahanol ddibenion rhaglennu.
Mae rhestr, a ddynodir gan gromfachau sgwâr, yn galluogi hyblygrwydd trwy ganiatáu ar gyfer newid maint ei gydrannau yn ddeinamig.
Mae tuple sydd wedi'i amgáu mewn cromfachau, ar y llaw arall, yn ddigyfnewid ac yn cynnal ei gyflwr cychwynnol tra bod y swyddogaeth yn cael ei chyflawni.
Mae Tuples yn rhoi dilyniant solet, na ellir ei gyfnewid, tra bod rhestrau'n cynnig hyblygrwydd, gan ganiatáu ar gyfer amrywiaeth o ddefnyddiau wrth brosesu ac addasu data.
Dyma ychydig Cod Python sampl yn dangos sut i ddefnyddio'r ddwy restr a thuples:
4. Beth yw deall rhestri a rhowch enghraifft o'u defnydd?
Mae deall rhestri yn ffordd effeithlon a mynegiannol o greu rhestrau yn Python sy'n cyfuno pŵer rhesymeg amodol a dolenni yn un llinell o god dealladwy.
Maent yn darparu cystrawen wedi'i symleiddio i drosi ein bwriadau yn rhestr, gan gyfuno iteriad ac amodoldeb yn un strwythur wedi'i fireinio.
Yn y bôn, mae dealltwriaeth o restrau yn rhoi'r gallu i raglenwyr greu rhestrau trwy weithredu gweithrediadau ar bob aelod ac efallai eu hidlo yn dibynnu ar feini prawf penodol, i gyd wrth gadw cronfa god daclus.
Mae'r nodwedd fynegiannol hon yn cyfuno effeithlonrwydd ac eglurder mewn rhaglennu Python trwy wella darllenadwyedd tra hefyd o bosibl yn darparu enillion cyfrifiannol mewn rhai amgylchiadau.
Mae darluniad o ddealltwriaeth rhestr Python i'w weld isod:
5. Disgrifiwch y gwahaniaeth rhwng copi dwfn a chopi?
Mae dyfnder a chywirdeb y gwrthrychau dyblyg yn pennu'r gwahaniaeth rhwng deepcopy
ac copy
yn Python.
Trwy greu eitem newydd tra'n cadw cyfeiriadau at y gwrthrychau nythu gwreiddiol, a copy
yn creu atgynhyrchiad bas sy'n plethu eu tynged gyda'i gilydd mewn gwe o gyd-ddibyniaeth.
Deepcopy
yn creu clôn hollol ymreolaethol trwy gopïo'r gwrthrych gwreiddiol a'i holl gydrannau hierarchaidd yn rheolaidd, torri pob cysylltiad a chynnal ymreolaeth mewn newidiadau.
Felly, yn dibynnu ar y lefel ofynnol o annibyniaeth gwrthrych, deepcopy
yn sicrhau atgynhyrchiad cynhwysfawr tra bod copi yn rhoi dyblygiad lefel arwyneb yn unig.
Dyma ychydig o god i ddangos sut copy
ac deepcopy
amrywio oddi wrth ei gilydd:
6. Sut mae multithreading yn cael ei gyflawni yn Python a sut mae'n wahanol i amlbrosesu?
Mae amlbrosesu ac amledafyn Python ill dau yn mynd i'r afael â gweithredu cydamserol, ond gan ddefnyddio gwahanol baradeimau.
Gan ddefnyddio llawer o edafedd y tu mewn i un broses, mae aml-edau yn galluogi cyflawni tasgau cydamserol o fewn gofod cof a rennir.
Fodd bynnag, gallai fod yn anodd cyflawni edau cyfochrog gwirioneddol oherwydd Clo Cyfieithydd Byd-eang Python (GIL).
Ar y llaw arall, mae amlbrosesu yn defnyddio sawl proses, pob un â dehonglydd Python a gofod cof ar wahân, gan sicrhau cyfochredd gwirioneddol.
Ar gyfer gweithgareddau I/O-rwymo, mae multithreading yn fwy ysgafn ac ymarferol, ond mae amlbrosesu yn rhagori mewn sefyllfaoedd sy'n gysylltiedig â CPU lle mae gweithredu cyfochrog go iawn yn hanfodol.
Dyma sampl cod byr sy'n cyferbynnu amlbrosesu yn erbyn aml-edau:
7. Beth yw addurnwyr a sut maen nhw'n cael eu defnyddio yn Python?
Yn Python, mae addurnwyr yn cyfuno defnyddioldeb a symlrwydd yn gain wrth ychwanegu at neu newid swyddogaethau yn gynnil.
Meddyliwch am addurnwyr fel gorchudd sy'n gorchuddio swyddogaeth yn hyfryd, gan ychwanegu at ei alluoedd heb newid ei natur hanfodol.
Mae'r endidau hyn, a ddynodir gan y symbol @
, derbyn swyddogaeth fel mewnbwn ac allbwn swyddogaeth newydd gyfan, gan gynnig modd di-dor o addasu ymddygiad swyddogaeth.
Mae addurnwyr yn rhoi ystod eang o nodweddion, o logio i reoli mynediad, gwella'r cod gyda haenau newydd tra'n cynnal cystrawen glir, ddealladwy.
Dyma enghraifft cod Python syml yn dangos sut mae addurnwyr yn cael eu defnyddio:
8. Eglurwch y gwahaniaethau rhwng *args a **kwargs?
Paramedrau hyblyg Python *args
ac **kwargs
caniatáu i swyddogaethau gymryd ystod o ddadleuon yn gywir.
Gall swyddogaeth dderbyn unrhyw nifer o ddadleuon lleoliadol gan ddefnyddio'r *args
paramedr, sy'n eu grwpio'n tuple.
Mewn cyferbyniad, gall swyddogaeth dderbyn unrhyw nifer o ddadleuon allweddair gan ddefnyddio'r **kwargs
paramedr, sy'n eu grwpio mewn geiriadur.
Mae'r ddau yn gweithredu fel sianeli ar gyfer dynameg a hyblygrwydd wrth adeiladu a galw swyddogaethau, **kwargs
cynnig dull strwythuredig ar gyfer trin swm mympwyol o fewnbynnau allweddair tra *args
yn trin mewnbynnau lleoliadol amhenodol yn osgeiddig.
Gyda'i gilydd, maent yn gwella hyblygrwydd a gwydnwch swyddogaethau Python trwy drin ystod eang o senarios cymhwyso yn fedrus ac yn glir.
Enghraifft o god Python sy'n defnyddio *args
ac **kwargs
darperir isod:
9. Sut fyddech chi'n sicrhau mai dim ond ar ôl defnyddio addurnwyr y gellir galw swyddogaeth?
Mae addurnwyr Python yn fedrus wrth gyfuno defnyddioldeb â cheinder, sydd ei angen i sicrhau hynodrwydd swyddogaeth wrth gyflawni.
Mae'n bosibl dylunio addurnwr i amgáu swyddogaeth a chadw golwg ar y wybodaeth hon y tu mewn trwy gadw cyflwr mewnol.
Gelwir y swyddogaeth amgáu unwaith, a'i gweithredu, ac mae'r addurnwr yn cofnodi'r alwad. Mae galwadau dilynol yn cael eu rhwystro, gan amddiffyn y swyddogaeth rhag cyflawni dro ar ôl tro trwy sicrhau nad yw'n cael ei aflonyddu.
Gyda chymorth y cymhwysiad hwn o addurnwyr, gellir rheoli galwadau swyddogaeth mewn ffordd gynnil ond effeithiol, gan warantu unigrywiaeth mewn ffordd sy'n hardd ac yn anymwthiol.
Dyma sampl cod i ddangos sut y gellir defnyddio addurnwyr i gyfyngu ar y nifer o weithiau y gellir galw swyddogaeth:
10. Sut mae etifeddiaeth yn gweithio yn Python?
Mae system etifeddiaeth Python yn creu gwe o gysylltiadau hierarchaidd rhwng dosbarthiadau, gan ganiatáu i nodweddion a swyddogaethau o ddosbarth rhiant gael eu rhannu â'i epil.
Mae'n rheoli llinach sy'n caniatáu i ddosbarthiadau deilliedig (plentyn) etifeddu, disodli, neu ychwanegu ymarferoldeb o'u dosbarthiadau sylfaenol (rhiant), gan hyrwyddo ailddefnyddio cod a chynllun rhesymegol, hierarchaidd.
Gall y dosbarth plentyn gyflwyno ei nodweddion a'i ymddygiadau unigryw yn ogystal â galluoedd amsugno ei riant, gan greu model gwrthrych cryf, aml-haenog.
Yn y dull hwn, mae etifeddiaeth yn dosbarthu ymarferoldeb yn fedrus ar draws rhydwelïau hierarchaeth y dosbarth, gan greu pensaernïaeth unedig, drefnus sy'n canolbwyntio ar wrthrychau.
Mae'r cod Python symlach canlynol yn dangos etifeddiaeth:
11. Beth yw gorlwytho a diystyru dull?
Mae dwy gonglfaen rhaglennu gwrthrychau-ganolog, gorlwytho dull a diystyru dull, galluogi datblygwyr i ddefnyddio'r un enw dull at sawl diben.
Gall un dull gynnwys amrywiaeth o fathau o ddata a chyfrif dadleuon trwy gael llawer o lofnodion diolch i orlwytho dull.
Ar y llaw arall, mae gor-redeg dull yn caniatáu i is-ddosbarth ychwanegu ei weithrediad arbennig ei hun at ddull sydd eisoes wedi'i ddiffinio yn ei ddosbarth rhiant, gan warantu y gelwir fersiwn y plentyn.
Gyda'i gilydd, mae'r strategaethau hyn yn gwella gallu i addasu trwy alluogi ymddygiadau dull sy'n dibynnu ar gyd-destun a gofynion penodol y cais.
Dyma sampl o god sy'n enghreifftio'r ddau gysyniad:
12. Disgrifiwch y cysyniad o amryffurfiaeth gydag enghraifft.
Polymorphism yw'r arfer o ddefnyddio rhyngwyneb sengl ar gyfer gwahanol fathau o ddata.
Mae'r syniad hwn yn sicrhau hyblygrwydd a graddadwyedd mewn dyluniad trwy roi rhyddid i ddulliau brosesu gwrthrychau mewn sawl ffordd yn dibynnu ar eu math neu ddosbarth cynhenid.
Yn ei hanfod, mae amryffurfiaeth yn galluogi rhyngweithiadau unedig tra'n cadw ymddygiadau gwahanol trwy ganiatáu i wrthrychau o wahanol ddosbarthiadau gael eu hystyried fel achosion o'r un dosbarth trwy etifeddiaeth.
Mae'r nodwedd ddeinamig hon yn annog symlrwydd cod trwy ganiatáu i un swyddogaeth neu weithredwr ryngweithio ag amrywiaeth o fathau o wrthrychau heb unrhyw broblemau.
Dyma sampl cod clir sy'n dangos polymorphism:
13. Eglurwch y gwahaniaeth rhwng enghreifftiau, dosbarth, a dulliau statig.
Mae gan ddulliau enghraifft, dosbarth a statig eu ffyrdd unigryw eu hunain o ryngweithio â data gwrthrych a dosbarth yn Python.
Mae'r math mwyaf cyffredin, sef dulliau enghraifft, yn gweithredu ar ddata enghreifftiau dosbarth ac yn cymryd enghraifft o'r dosbarth, a elwir yn nodweddiadol yn hunan.
Mae'r dosbarth ei hun (y cyfeirir ato'n aml fel cls) yn cael ei dderbyn fel dadl trwy ddulliau dosbarth, sy'n cael eu dynodi gyda @classmethod, ac maen nhw'n trin data lefel dosbarth.
Nid yw dulliau statig, a ddynodir gan y symbol hash @staticmethod, yn effeithio ar gyflyrau dosbarth neu achosion gan eu bod yn swyddogaethau annibynnol sydd wedi'u cynnwys yn y dosbarth ac nid ydynt yn cymryd hunan neu cls fel paramedr cyntaf.
Gan fod pob math o ddull yn darparu mynediad a chyfleustodau gwahanol, mae pensaernïaeth sy'n canolbwyntio ar wrthrychau yn hyblyg ac yn fanwl gywir.
Fel enghraifft o un o'r mathau hyn o ddulliau mewn cod:
14. Disgrifiwch sut mae set Python yn gweithio'n fewnol.
Mae mewnol strwythur data a elwir yn hashtable yn cael ei ddefnyddio gan set Python, sy'n gasgliad heb ei drefnu o gydrannau gwahanol, i berfformio gweithrediadau pwerus ac effeithiol.
Mae Python yn defnyddio swyddogaeth hash i reoli ac adalw data yn gyflym pan ychwanegir elfen at set, gan droi'r elfen yn werth hash sydd wedyn yn diffinio ei lleoliad yn y cof.
Trwy hwyluso gwiriadau aelodaeth cyflym a dileu cofnodion dyblyg, mae'r dechneg hon yn sicrhau bod pob elfen mewn set yn unigryw ac yn hawdd ei chyrraedd.
Felly, mae pensaernïaeth gynhenid setiau yn tueddu i wneud y gorau o weithrediadau fel undebau, croesfannau a gwahaniaethau, gan arwain at strwythur data bach, effeithiol.
Dyma ddarn o god sy'n dangos sut i ryngweithio â set Python yn syml:
15. Sut mae geiriadur yn cael ei weithredu yn Python?
Mae hashtable yn gweithredu fel sylfaen geiriadur yn Python ac mae'n caniatáu ar gyfer adalw a thrin data yn gyflym. Casgliadau deinamig, di-drefn o barau gwerth allweddol yw geiriaduron.
Mae Python yn defnyddio ffwythiant hash i gyfrifo hash yr allwedd pan gyhoeddir pâr gwerth bysell, gan leoli lleoliad cyfeiriad storio'r gwerth yn y cof.
Gan fod y swyddogaeth hash yn pwyntio'r dehonglydd i'r cyfeiriad cof ar unwaith, mae'r dyluniad hwn yn cynnig mynediad cyflym i ddata yn seiliedig ar allweddi ac mae'n rhyfeddol o effeithlon mewn gweithrediadau adfer, mewnosod a dileu.
Gall devs reoli data yn hawdd ac yn effeithiol oherwydd y cyfuniad deniadol o gyflymder a hyblygrwydd a ddarperir gan eiriaduron Python.
Rhestrir isod sampl cod sy'n dangos sut i ddefnyddio geiriadur Python:
16. Eglurwch fanteision defnyddio tuples a enwir gennych.
Mae defnyddio tuples a enwir yn Python yn cyfuno mynegiant dosbarthiadau â symlrwydd tuples yn fedrus, gan arwain at strwythur data bach, hunanesboniadol.
Mae'r tuple traddodiadol yn cael ei ymestyn gan tuples a enwir, sy'n cadw ansymudedd ac effeithlonrwydd cof tuples tra'n ychwanegu meysydd a enwir i wella darllenadwyedd cod a hunan-ddisgrifiad.
Mae tuples a enwir yn hyrwyddo cod clir, dealladwy a pherfformiwr trwy sefydlu gwrthrychau syml, ysgafn heb unrhyw ddulliau, gan wella profiad y datblygwr a pherfformiad cyfrifiannol.
O ganlyniad, mae tuples a enwir yn datblygu i fod yn offeryn pwerus sy'n gwella strwythur data a darllenadwyedd heb gyfaddawdu ar gyflymder.
Dangosir sampl cod sy'n dangos sut y defnyddir tuples a enwir isod:
17. Sut mae'r bloc ceisio-ac eithrio yn gweithio?
Mae'r bloc ceisio ac eithrio yn gweithredu fel sentinel mewn cystrawen fynegiannol Python, gan warchod yn wyliadwrus rhag afreoleidd-dra amser rhedeg a chynnal llif llyfn y dienyddiad er gwaethaf problemau posibl.
Pan fydd bloc ceisio yn dod ar draws gwall, mae'r rheolaeth yn cael ei drosglwyddo'n awtomatig i'r bloc priodol ac eithrio, lle caiff y broblem ei datrys trwy riportio, trwsio, neu efallai ail-daflu'r eithriad.
Trwy drin eithriadau mewn ffordd bwrpasol, reoledig, mae'r system hon nid yn unig yn amddiffyn rhag damweiniau aflonyddgar ond hefyd yn gwella profiad y defnyddiwr a chywirdeb data.
O ganlyniad, mae'r bloc ceisio-ac eithrio yn asio rheoli gwallau yn fedrus â gweithrediad y rhaglen, gan warantu cadernid a sefydlogrwydd y cais.
Dyma sampl bach o god sy'n defnyddio'r bloc ceisio ac eithrio:
18. Beth yw'r gwahaniaeth rhwng datganiadau codi a haeru?
Mae'r datganiadau codi a haeru wrth drin gwallau Python yn cynrychioli dau fynegiad ar wahân ond cysylltiedig o reoli eithriadau.
Mae adroddiadau raise
datganiad yn rhoi rheolaeth benodol i'r rhaglennydd dros negeseuon gwall a llif trwy ganiatáu iddynt achosi eithriadau penodol yn benodol.
Assert
, ar y llaw arall, yn gweithredu fel offeryn debugging drwy gynhyrchu yn awtomatig a AssertionError
os nad yw ei amod cyfatebol yn cael ei fodloni, gan warantu bod y rhaglen yn perfformio fel y bwriadwyd yn ystod y datblygiad.
Assert
yn syml yn gwirio amodau, gan wella dadfygio a dilysu, tra bod codiad yn galluogi rheolaeth ehangach, mwy penodol. Mae'r ddau yn codi ac yn haeru cynhyrchu eithriad a reolir gan drwydded.
Dyma ychydig o god sampl yn dangos sut i ddefnyddio raise
ac assert
:
19. Sut ydych chi'n darllen ac yn ysgrifennu data o ffeil ddeuaidd yn Python?
Gan ddefnyddio'r swyddogaeth agored adeiledig gyda manyleb modd deuaidd, mae rhyngwynebu â ffeiliau deuaidd yn Python yn golygu cydbwysedd rhwng cywirdeb a symlrwydd.
Gan ddefnyddio'r rb
or wb
bydd moddau wrth agor ffeil ddeuaidd yn sicrhau bod y data yn cael ei drin yn ei ffurf amrwd, heb ei amgodio wrth ddarllen neu ysgrifennu data deuaidd.
Trwy ddefnyddio'r dulliau hyn, mae Python yn symleiddio rheolaeth data nad yw'n destun, fel lluniau neu ffeiliau gweithredadwy, gan alluogi rhaglenwyr i drin a dadansoddi data deuaidd yn fanwl gywir ac yn hawdd.
Felly, mae gweithrediadau ffeiliau deuaidd yn Python yn agor y drws i ystod eang o gymwysiadau, gan gynnwys cyfresoli data, prosesu delweddau, a dadansoddi deuaidd, i sôn am ychydig.
Gan ddefnyddio ffeil ddeuaidd, mae’r enghraifft hon o god yn dangos sut i ddarllen ac ysgrifennu data:
20. Eglurwch y with
datganiad a'i fanteision wrth weithio gyda ffeil I/O.
Mae Python's â datganiad, a ddefnyddir yn aml gyda ffeil I/O, yn sicrhau bod adnoddau'n cael eu trin yn effeithiol diolch i'r syniad o reoli cyd-destun.
Wrth ddelio â ffeiliau, with
datganiad yn cau'r ffeil ar unwaith ar ôl ei ddefnyddio, hyd yn oed os bydd eithriad yn digwydd tra bod y camau yn cael eu cyflawni, gan amddiffyn rhag gollyngiadau adnoddau a gwarantu terfyniad glân.
Trwy ddileu cod boilerplate, mae'r siwgr cystrawen hwn yn gwella darllenadwyedd cod. Mae hefyd yn cynyddu dibynadwyedd a symlrwydd trwy integreiddio rheoli adnoddau a thrin eithriadau.
O ganlyniad, mae'r datganiad gyda dod yn hanfodol ar gyfer sicrhau bod eich gweithrediadau ffeil yn ddibynadwy ac wedi'u cynnwys yn lân, amddiffyn rhag problemau annisgwyl a gwella eglurder cod.
Dyma enghraifft o god sy'n defnyddio'r with
datganiad mewn gweithrediadau ffeil:
21. Sut fyddech chi'n creu modiwl singleton yn Python?
Defnyddir cyfuniad o ddulliau dosbarth a gwiriadau mewnol i greu modiwl singleton yn Python, patrwm dylunio sydd ond yn caniatáu creu un enghraifft o ddosbarth yn unig.
Trwy gadw golwg ar ei achos ei hun a darparu dull i'w gynhyrchu neu ei ddychwelyd, mae dosbarth yn dilyn y patrwm hwn i sicrhau bod amrantiadau dilynol yn ailadrodd y lle cyntaf.
Gydag un pwynt rheolaeth, mynediad unedig i adnoddau, ac amddiffyniad rhag manipulations cystadleuol, mae Singleton yn sicrhau un pwynt rheolaeth.
O ganlyniad, mae'n datblygu i fod yn offeryn effeithiol ar gyfer crynhoi adnoddau a rennir, gan warantu mynediad cyson ac addasiadau ar draws y rhaglen.
Dyma ychydig o sampl cod Python yn dangos dosbarth singleton:
22. Enwch ychydig o ffyrdd i wneud y defnydd gorau o'r cof mewn sgript Python.
Mae optimeiddio defnydd cof sgript Python yn aml yn golygu cydbwyso gofalus rhwng dewis strwythur data, gwella algorithm, a rheoli adnoddau.
Wrth weithio gyda setiau data enfawr, er enghraifft, gall defnyddio generaduron yn hytrach na rhestrau leihau'r defnydd o'r cof yn sylweddol trwy asesu'r eitemau ar y hedfan yn ddiog yn hytrach na'u cadw yn y cof.
Mae'n bosibl lleihau'r defnydd o gof ymhellach trwy drin data rhifiadol gyda strwythurau data arae yn hytrach na rhestrau a thrwy ddefnyddio'n gynnil __slots__
datganiadau yn y dosbarth i reoli ffurfiant priodoleddau deinamig.
Felly, trwy gydbwyso perfformiad a defnydd adnoddau, gallwch sicrhau bod rhaglenni Python nid yn unig yn effeithiol ond hefyd yn feddylgar o ran faint o gof y maent yn ei ddefnyddio.
Dyma enghraifft fer o god sy'n defnyddio generadur i leihau faint o gof a ddefnyddir:
23. Sut fyddech chi'n echdynnu pob cyfeiriad e-bost o linyn penodol gan ddefnyddio regex?
Mae ymadroddion rheolaidd (regex) yn Python yn cyfuno cywirdeb ac amlbwrpasedd i dynnu cyfeiriadau e-bost o linyn, gan ganiatáu i'r datblygwr hidlo'n ddeheuig trwy ddeunydd testunol a nodi patrymau dymunol.
Er mwyn sefydlu strwythur cyfeiriad e-bost, mae un yn creu patrwm regex gan ddefnyddio'r ail-fodiwl. Yna, gallwch chi ddefnyddio findall
i gael pob digwyddiad o'r llinyn targed.
Mae'r dull hwn yn llywio'r ddrysfa destunol yn arbenigol i gael yr holl gyfeiriadau e-bost cudd, sydd nid yn unig yn cyflymu'r broses echdynnu ond hefyd yn sicrhau cywirdeb.
Gellir defnyddio Regex yn fedrus i echdynnu data penodol o linynnau yn effeithiol, gan gynyddu prosesu a dadansoddi data sgriptiau Python.
Dyma ddarn o god sy'n defnyddio regex i echdynnu e-byst:
24. Eglurwch batrwm dylunio'r Ffatri a sut y caiff ei gymhwyso yn Python
Egwyddor sylfaenol rhaglennu gwrthrych-ganolog, y patrwm dylunio ffatri, yw creu gwrthrychau heb nodi union ddosbarth y gwrthrychau i'w cynhyrchu.
Gellir gweithredu patrwm y Ffatri yn gain yn Python trwy greu dull sy'n dychwelyd enghreifftiau o sawl dosbarth yn dibynnu ar fewnbynnau dull neu ffurfweddiadau.
Mae'r weithdrefn hon, y cyfeirir ati weithiau fel “Ffatri,” yn gweithredu fel canolbwynt ar gyfer gwehyddu sawl achos dosbarth, gan warantu bod gwrthrychau'n cael eu creu heb i'r galwr orfod cyflymu dosbarthiadau â llaw.
Felly, mae'r patrwm Ffatri yn cynnal pensaernïaeth ddatgysylltiedig, graddadwy tra'n gwella modiwlaredd cod a chydlyniant. Mae hefyd yn cynnig techneg symlach i adeiladu gwrthrychau.
25. Beth yw'r gwahaniaeth rhwng iterator a generadur?
Mae'n amlwg o iterators a generaduron Python bod y ddau luniad yn ei gwneud hi'n bosibl doleniad trwy werthoedd, fodd bynnag, mae gwahaniaethau cynnil yn y ffordd y cânt eu gweithredu a'u defnyddio.
Mae generadur, sy'n cael ei adnabod yn aml gan ei ddefnydd o gynnyrch, yn cynnal ei gyflwr yn awtomatig ac yn cael ei weithredu gyda swyddogaeth, gan ddarparu ffordd gryno a chof-effeithlon i gynhyrchu gwerthoedd ar y hedfan.
Mae iterator, a weithredir fel arfer fel dosbarth, yn defnyddio dulliau fel __iter__
ac __next__
i reoli ei gyflwr ailadrodd a chynhyrchu gwerthoedd.
O ganlyniad, mae gan bob un ei rinweddau ei hun yn seiliedig ar yr achos defnydd penodol, gydag iterwyr yn cynnig ffordd drylwyr, sy'n canolbwyntio ar wrthrych, i groesi data tra bod generaduron yn cynnig techneg werthuso ysgafn, ddiog.
Mae'r ddwy dechneg yn ychwanegu at arsenal y datblygwr ac yn ei gwneud hi'n bosibl archwilio data yn gyflym ac yn effeithiol mewn amrywiaeth o sefyllfaoedd.
Dyma ddarn o god iterator a generadur yn Python:
26. Sut mae'r @property
gwaith addurnwr?
Mae'r addurnwr '@property' yn Python yn chwarae alaw hyfryd sy'n trosi galwadau dull yn fynediad tebyg i briodoledd, gan wella defnyddioldeb gwrthrychau a mynegiant.
Gellir galw dull heb ddefnyddio cromfachau trwy ddefnyddio @property, sy'n debyg i gyrchu priodoledd. Mae hyn yn creu rhyngwyneb cliriach a haws ei ddefnyddio ar gyfer rhyngweithio gwrthrychau.
Yn ogystal, mae'n cynnig cydbwysedd deheuig o ymarferoldeb ac amgįu, gan amddiffyn cyflwr gwrthrych tra'n darparu rhyngwyneb sythweledol, gan alluogi datblygwyr i nodi priodoleddau yn rhwydd gan ddefnyddio dulliau gosodwr a setter.
Trwy gyfuno ymarferoldeb dull â hygyrchedd priodoledd, mae'r @property
daw addurnwr i'r amlwg fel arf hollbwysig ac mae'n cynnig patrwm rhyngweithio gwrthrych syml ond effeithiol.
Enghraifft o Python's @property
mae'r addurnwr i'w weld isod:
27. Sut fyddech chi'n creu API REST sylfaenol yn Python?
Er mwyn adeiladu gwasanaethau gwe sy'n rhyngweithio trwy geisiadau HTTP, mae datblygwyr yn aml yn defnyddio gallu mynegiannol fframweithiau fel Fflasg wrth adeiladu fersiwn syml. REST API yn Python.
Gyda'i gystrawen syml a dealladwy, mae Flask yn galluogi datblygwyr i adeiladu llwybrau y gellir eu cyrchu trwy nifer o ddulliau HTTP, gan gynnwys GET a POST, i gyfathrebu â'r cymhwysiad sylfaenol.
Gall API REST a adeiladwyd gan ddefnyddio Flask dderbyn ceisiadau HTTP yn hawdd, prosesu'r data sydd wedi'i gynnwys, a darparu gwybodaeth berthnasol mewn ymateb trwy nodi pwyntiau terfyn unigryw sy'n gysylltiedig â swyddogaethau amrywiol.
Er mwyn sicrhau cyfathrebu di-dor rhwng gwahanol gydrannau meddalwedd mewn amgylchedd rhwydweithiol, gall datblygwyr ddefnyddio APIs REST pwerus gan ddefnyddio cyfuniad o Python a Flask.
Dyma ddarn bach o god sy'n defnyddio Flask i greu API REST:
28. Disgrifiwch sut i ddefnyddio'r llyfrgell geisiadau i wneud cais HTTP POST.
Mae llyfrgell ceisiadau Python yn offeryn pwerus sy'n trawsnewid anawsterau cyfathrebu HTTP yn API croesawgar ac yn ei gwneud hi'n syml ac yn naturiol rhyngweithio â gwasanaethau ar-lein gan ddefnyddio ceisiadau HTTP POST.
Gwneir cais POST trwy ddefnyddio'r dull postio, gan roi URL y cyrchfan, ac atodi'r deunydd i'w anfon, a all gynnwys data ffurflen, JSON, ffeiliau, a mwy.
Yna mae'r llyfrgell geisiadau yn rheoli'r cysylltiad HTTP gwaelodol, gan anfon y data i'r URL dynodedig a chasglu ymateb y gweinydd i alluogi rhyngweithiadau gwe hylifol.
Gall datblygwyr ymgysylltu'n hawdd â gwasanaethau ar-lein, cyflwyno data ffurflen, a rhyngwynebu ag APIs gwe trwy geisiadau, gan bontio'r bwlch rhwng apiau lleol a'r we fyd-eang.
Gan ddefnyddio'r llyfrgell geisiadau, mae'r sampl cod canlynol yn dangos sut i anfon cais HTTP POST:
29. Sut byddech chi'n cysylltu â chronfa ddata PostgreSQL gan ddefnyddio Python?
Mae ymgysylltu â chronfa ddata PostgreSQL o amgylchedd Python yn cael ei drin yn gain gan y pecyn psycopg2, pont bwerus sy'n caniatáu rhyngweithiadau cronfa ddata di-dor.
Trwy ddefnyddio psycopg2
, gall rhaglenwyr greu cysylltiadau yn hawdd, rhedeg ymholiadau SQL, a chael canlyniadau, gan integreiddio gallu PostgreSQL yn uniongyrchol i raglenni Python.
Gallwch ddatgloi swyddogaethau cronfa ddata cymhleth gyda dim ond ychydig linellau o god, gan warantu bod data'n cael ei gyrchu, ei addasu, a'i gadw gyda chywirdeb ac effeithlonrwydd.
Mae'r modiwl hwn yn galluogi datblygwyr i ddefnyddio cronfeydd data perthynol yn llawn yn eu cymwysiadau trwy sylweddoli'n gain y synergedd rhwng Python a PostgreSQL.
Dyma'r cod sampl sy'n dangos sut i ddefnyddio'r psycopg2
llyfrgell i sefydlu cysylltiad â chronfa ddata PostgreSQL:
30. Beth yw rôl ORMs yn Python ac enwi un poblogaidd?
Mae mapio gwrthrych-berthynol (ORM) yn Python yn galluogi datblygwyr i gysylltu â chronfeydd data gan ddefnyddio dosbarthiadau Python a pharadigau gwrthrych.
Mae'n gweithredu fel cyfryngwr harmonig rhwng rhaglennu gwrthrych-ganolog a gweinyddu cronfa ddata berthynol.
Mae SQLAlchemy, un o'r ORMs mwyaf adnabyddus yn amgylchedd Python, yn cynnig set gyflawn o offer ar gyfer rhyngweithio â chronfeydd data SQL lluosog gan ddefnyddio cystrawen lefel uchel, sy'n canolbwyntio ar wrthrychau.
Gyda chymorth SQLAlchemy, gellir cynrychioli endidau cronfa ddata fel dosbarthiadau Python, gydag enghreifftiau o'r dosbarthiadau hyn yn rhesi mewn tablau cronfa ddata.
Mae hyn yn galluogi rhaglenwyr i weithredu gyda chronfeydd data heb orfod ysgrifennu unrhyw ymholiadau SQL amrwd.
Oherwydd cymhlethdod SQL a chysylltedd cronfa ddata, mae ORMs fel SQLAlchemy yn ei gwneud hi'n bosibl ar gyfer rhyngweithiadau cronfa ddata sy'n haws eu defnyddio, yn ddiogel ac yn gynaliadwy.
Dyma enghraifft syml yn dangos sut mae SQLAlchemy yn gweithio:
31. Sut fyddech chi'n proffilio sgript Python?
Mae sgript Python yn cael ei broffilio trwy ddadansoddi ei strwythur cyfrifiannol a manylion amser a gofod ei weithrediad er mwyn dod o hyd i unrhyw dagfeydd perfformiad posibl a gwella effeithlonrwydd.
Gall datblygwyr ddadansoddi ymddygiad eu cod yn ofalus yn ystod amser rhedeg trwy ddefnyddio'r adeiledig cProfile
modiwl.
Trwy wneud hynny, gallant gael data trylwyr ar alwadau swyddogaeth, amseroedd gweithredu, a pherthnasoedd galwadau, gan ganiatáu iddynt nodi a mynd i'r afael â thagfeydd perfformiad.
Gallwch warantu bod cod nid yn unig yn gweithio'n gywir ond hefyd yn effeithlon, gan gydbwyso adnoddau cyfrifiadurol, a gwella perfformiad cymhwysiad cyffredinol, trwy gynnwys proffilio i gylch bywyd y datblygiad.
Felly, gall datblygwyr ddiogelu rhaglenni rhag aneffeithlonrwydd trwy broffilio gofalus, gan sicrhau eu bod yn cael eu tiwnio a'u perfformio'n ddibynadwy ar draws ystod o ofynion cyfrifiannol.
Dyma enghraifft syml o broffilio sgript Python gan ddefnyddio'r cProfile
modiwl:
32. Eglurwch y GIL (Global Interpreter Lock) yn CPython
Mae'r Global Interpreter Lock (GIL) yn CPython yn gweithredu fel sentinel, gan warantu mai dim ond un edefyn sy'n rhedeg cod byte Python ar y tro mewn un broses, hyd yn oed mewn cymwysiadau aml-edau.
Er y gall ymddangos yn dagfa, mae'r GIL yn hanfodol i ddiogelu rheolaeth cof a strwythurau data mewnol CPython rhag mynediad cydamserol a chadw cyfanrwydd system.
Fodd bynnag, rhaid cofio'r angen am aml-edafu mewn gweithgareddau rhwymedig I/O, lle mae'n rhaid i edafedd aros i ddata gael ei ddosbarthu neu ei dderbyn, gan nad yw GIL yn dileu'r angen hwn.
Felly, hyd yn oed os yw GIL yn peri anawsterau i weithgareddau sy'n gysylltiedig â CPU, mae dealltwriaeth o'i ymddygiad ac addasu technegau, fel defnyddio amlbrosesu neu raglennu cydamserol, yn galluogi datblygwyr i greu rhaglenni Python effeithiol, cydamserol.
Dyma enghraifft o god Python sy'n defnyddio edafedd ac yn dangos sut y gallai GIL gael effaith ar dasgau sy'n gysylltiedig â CPU:
33. Egluro async Python/aros. Sut mae'n wahanol i edafu traddodiadol?
Mae'r gystrawen async/aros yn Python yn agor byd rhaglennu asyncronaidd, patrwm sy'n gadael i rai swyddogaethau ildio rheolaeth i'r amgylchedd amser rhedeg fel y gall gweithgareddau eraill berfformio yn y cyfamser, gan wella effeithlonrwydd rhaglenni.
Mae Async/await yn cynnal gweithgareddau mewn un edefyn ond yn galluogi'r cyflawni i neidio rhwng tasgau, gan sicrhau ymddygiad di-rwystro heb gymhlethdod rheoli edafedd.
Mae hyn yn wahanol i edafu clasurol, lle mae edafedd yn gweithredu ochr yn ochr ac yn aml mae angen eu rheoli a'u cydamseru yn gymhleth.
O ganlyniad, gall datblygwyr drin gweithgareddau I/O-rwymo cydamserol yn effeithiol a chyda dull symlach o reoli arian cyfred.
Mae hyn yn hyrwyddo model amldasgio cydweithredol lle mae prosesau'n fodlon ildio rheolaeth.
O ganlyniad, mae async/aros yn cynnig ffordd syml, nodedig o ddylunio cymwysiadau cydamserol, yn enwedig lle mae gweithrediadau I/O yn gyffredin, gan ddod o hyd i gydbwysedd rhwng perfformiad a chymhlethdod.
Darperir enghraifft o god Python sy'n defnyddio async / await isod:
34. Disgrifiwch sut byddech chi'n defnyddio Python's concurrent.futures
.
rhyngwyneb ar gyfer gweithredu pethau y gellir eu galw yn anghydamserol trwy edafedd neu brosesau, gall datblygwyr reoli gweithrediadau asyncronaidd a chyfochrog yn osgeiddig.
Mae'r modiwl hwn yn rheoli'r broses o ddyrannu adnoddau a chyflawni pethau y gellir eu galw tra'n crynhoi'r agweddau cain ar edafu ac amlbrosesu trwy Ysguthurwyr (ThreadPoolExecutor a ProcessPoolExecutor).
Gall datblygwyr ddefnyddio proseswyr aml-graidd yn effeithiol ar gyfer gweithgareddau sy'n gysylltiedig â CPU a darparu gweithrediadau I/O nad ydynt yn rhwystro trwy anfon tasgau at ysgutor, a all wedyn eu perfformio ar yr un pryd a hyd yn oed agregu eu canlyniadau.
Er mwyn sicrhau bod cymwysiadau yn ymatebol ac yn gyflawn, concurrent.futures
yn creu gofod lle gall cyfrifiadau cymhleth a gweithgareddau I/O gyfuno'n esmwyth.
Dyma sampl o god sy'n defnyddio concurrent.futures
:
35. Cymharwch Django a Fflasg o ran achos defnydd a scalability.
Mae dwy seren yng nghytser fframweithiau gwe Python, Django a Flask, pob un yn disgleirio'n llachar tra'n cwrdd â gofynion datblygwr amrywiol.
Ar gyfer rhaglenwyr sy'n creu cymwysiadau enfawr sy'n cael eu gyrru gan gronfa ddata, Django yw'r offeryn o ddewis gan ei fod yn dod ag ORM a rhyngwyneb gweinyddol adeiledig.
Fodd bynnag, mae dyluniad syml a modiwlaidd Flask yn rhoi rhyddid i ddatblygwyr ddewis eu cydrannau eu hunain, gan ei wneud yn ddewis perffaith ar gyfer prosiectau llai neu sefyllfaoedd lle mae datrysiad ysgafn, addasadwy yn hanfodol.
Gellir graddio'r ddau fframwaith i ddarparu ar gyfer galwadau mwy pan ddaw'n fater o scalability.
Fodd bynnag, mae natur darbodus Flask yn caniatáu ar gyfer tactegau graddio wedi'u teilwra sydd wedi'u teilwra i anghenion penodol, tra gall galluoedd adeiledig Django roi mantais fach iddo ar gyfer datblygiad cyflym mewn prosiectau mwy, mwy cymhleth.
Casgliad
Mae cyfweliadau sgriptio Python yn gofyn am wybodaeth fanwl o alluoedd, cymhlethdodau a chymwysiadau'r iaith.
Mae paratoad trylwyr nid yn unig yn cryfhau eich cymhwysedd technegol ond hefyd yn ennyn hyder, gan helpu ymgeiswyr i symud yn gyflym ac yn gywir trwy'r ddrysfa anodd o gwestiynau.
Gall ymgeiswyr sicrhau eu bod yn barod i drin problemau Python sylfaenol a chymhwysol trwy adolygu syniadau allweddol fel cyd-redeg, egwyddorion OOP, a strwythurau data, yn ogystal â phlymio i gymwysiadau ymarferol fel rhaglennu gwe a thrin data.
O ganlyniad, mae cael addysg gyflawn yn dod yn hanfodol i lwyddiant a gall arwain at sefyllfaoedd lle gall galluoedd rhaglennu Python ragori a bod yn greadigol. Gwel Cyfres Cyfweliadau Hashdork am help i baratoi ar gyfer cyfweliad.
Gadael ymateb