Data Engineer
Ինչ է տարբերությունը EXPLAIN ANALYZE և սովորական EXPLAIN-ի միջև: Ինչու՞ չի ցանկալի այն գործարկել DELETE/UPDATE հարցումներում։
Մենք JSON-ը կպարսենք — ով է պարսկելու JSON-ը: Ինչպես գիտեմ, ClickHouse-ում ֆունկցիաներ չկան։
Պատմիր ինձ բաժանման մասին: Որ հետաքրքիր գործողություններ էիք կատարել?
Ի՞նչ է տարբերությունը Parquet պահեստավորման ձևաչափի և CSV-ի միջև։
Ինչ է Oracle-ում դիտումները (VIEW) և նյութական դիտումները (MATERIALIZED VIEW): Ինչպես են թարմացվում նյութական դիտումներում տվյալները?
JSON-ը բաժանեք երրորդ նորմալ ձևի՝ ինչպես կպահեք CashBreakdown ցանկը և ինչպես կստեղծեք փոխարինող բանալիներ։
Կա՞ն մրցակցային առաջարկներ կամ առաջարկներ այլ ընկերություններից։
Ի՞նչ եք ուզում զարգացնել: Մասնավորապես ճարտարապետական լուծումներ?
Որ արտահայտությունը տեղում [...] ավտոմատ կերպով կհանգեցնի ինդեքսի ստեղծմանը? Մոբայլ հարթակում կա հորիզոնական սքրոլ կոդ create table some_table( col_name [...] ); unique references other_table(col_name) not null serial integer check (col_name > 0)
Ի՞նչ առավելություններ է տալիս ռազմավարության պատկերը այս կոդը վերականգնելու ժամանակ։
Նկարագրեք մանրամասն աղբյուրից ինկրեմենտի բռնումի ալգորիթմը, որպեսզի ոչինչ չկորցվի բեռնման հաճախականության փոփոխության ժամանակ։
Դուք հայտնաբերել եք, որ Git-ի հիմնական պահոցում պատմության մեջ կան կոմիտներ, որոնք պարունակում են կարևոր գաղտնի տվյալներ: Այս տվյալները պետք է ամբողջությամբ հեռացվեն պահոցից: Նախագծեք, թե որքան ճիշտ և անվտանգ կլինի օգտագործել հետևյալ ռազմավարությունը՝ ստեղծել նոր կոմիտ, որը կհեռացնի գաղտնի տվյալները ֆայլերի ընթացիկ տարբերակից և ուղարկել այն main-ին: - Ճիշտ է, բայց ոչ օպտիմալ: Ավելի լավ է օգտագործել git revert՝ կոմիտների վերականգնման համար - Շարունակական ճիշտ է: Սա ժամանակավոր լուծում է, մինչև ավելի ռադիկալ միջոց գտնել տվյալների հեռացման համար - Սխալ և անանվտանգ: Տվյալները կհեռացվեն ընթացիկ տարբերակից, բայց կմնան հասանելի պահոցում - Սխալ: Այս կոմիտը կարող է առաջացնել նոր կոնֆլիկտներ մյուս ճյուղերի միացման ժամանակ - Ճիշտ և անվտանգ: Այս մեթոդը երաշխավորում է, որ տվյալները կհեռացվեն և այլևս չեն հայտնվի պահոցում
Որ ռազմավարությունը կլինի արդյունավետ բոլոր ճյուղերում անվտանգության թերությունը վերացնելու համար՝ նվազագույն ռիսկով նախագծի աշխատանքը խանգարելու համար? - Ստեղծել revert-կոմիտների շարք խնդիրային կոմիտին և բոլոր այն կոմիտիները, որոնք մասամբ այն ուղղել են, ապա ստեղծել լրիվ ուղղում ունեցող նոր կոմիտե - Ստեղծել hotfix-մասա այն կետից, որտեղից սկսվել է խնդիրային կոմիտեն, կատարել ուղղումներ և միացնել այս մասան բոլոր ազդեցության տակ գտնվող ճյուղերի հետ - Ստեղծել միակ ուղղող կոմիտե՝ օգտագործելով git revert abc123 հիմնական ճյուղում և հետո cherry-pick անել այս կոմիտեն բոլոր թողարկման ճյուղերին - Օգտագործել git bisect՝ ճշտելու համար խնդիրային կոդը, ստեղծել պաչ և կիրառել այն բոլոր ճյուղերին՝ git am-ի միջոցով - Օգտագործել git rebase -i՝ խնդիրային կոմիտեն խմբագրելու համար յուրաքանչյուր ճյուղում, ապա force-push (force-push) կատարել
Կան երկու գործարքներ։ Առաջինը կատարում է հրամանը։ Հետո, երկրորդը կատարում է հրամանը։ Դրանից հետո առաջինը շարունակում է։ Որ հաջորդականությունը կհանգեցնի փոխադարձ փակման? ```sql -- առաջին գործարք update accounts set balance = balance + 100 where id = ?; -- երկրորդ գործարք update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```
Ի՞նչ խնդիր եք լուծել վերջերս արտադրությունում Python-ով:
Ինչպես տեսնել ClickHouse-ում պարամետրերը կամ սահմանափակումները?
Ինչու են առաջանում deadlock-ները և որ մեխանիզմ է պատասխանատու տվյալների համահունչության համար միաժամանակյա հարցումների ժամանակ բազաներում։
Դու երբևէ աշխատե՞լ ես Spark-ում AQE (Ադապտիվ Քուերի Էքսեկյուշն) օպտիմիզատորով: Դու գիտե՞ս, թե ինչպես է այն աշխատում:
Python-ի բառարանն փոփոխական կամ անփոփոխ տեսակ է: Ի՞նչ պահանջներ կան նրա բանալիների և արժեքների համար:
Որ դեպքերում կարող է ClickHouse-ի Materialized View-ը բաց թողնել տվյալները կամ, հակառակը, կրկնօրինակել դրանք?