Sobes.tech

Python

Ի՞նչ որակներ են աշխատակիցների մեջ, որոնք օգնում են կառուցել արդյունավետ և ներդաշնակ թիմ։

Junior — Middle
147

Կարող եք բացատրել, թե ինչպես է աշխատում next()-ը։

146

Ինչպե՞ս կարելի է որոշել ձեր նախորդ թիմի մասնակիցների թիվը։

Junior — Middle
146

Կандидատը խնդրում է բացատրել առաջարկվող լուծումը (ինչու է անհրաժեշտ համեմատել նվազագույն և առավելագույն զույգերի արտադրյալները):

144

Կարող եք գնահատել այս լուծման բարդությունը (ժամանակի և հիշողության տեսանկյունից)? Եվ ինչու բարդությունը չի O(n^2)?

142

Երբ եք վերջին անգամ լուծել ալգորիթմական խնդիրներ պրակտիկայի կամ նախագծերի համար?

Junior — Middle
142

Ինչպե՞ս իրականացնել պարզ լոկ (lock) մեխանիզմ հիշողության մեջ՝ հակազդելու մրցակցային մուտքին առանց արտաքին կախվածությունների օգտագործման։

142

# Բանկոմատ, որը լիցքավորվում է տոպրակներով, որոնց մեջ են փողերը, մեր հավելվածով բորտում # պետք է կարողանա տրամադրել տպավորություններ ըստ նշված գումարի կամ պատասխանել մերժումով # Տպավորության ժամանակ, տպավորությունները հանում են բանկոմատի բալանսից: # Արգելվելի արժեքներ՝ 50R, 100R, 500R, 1000R, 5000R: class ATM: pass # տեղ համար կոդ # Բանկոմատի սարքավորումը: # - փողերը տեղադրված են տոպրակներում բանկոմատում, որոնք բեռնվում են հավաքողից և լրացվում; # - յուրաքանչյուր տոպրակում իր արժեքով տպավորություններ են; # - բանկոմատը կարող է հաշվել մնացած տպավորությունները, բայց այս գործողությունը երկար է տևում - այն պետք է կանչել հնարավորինս քիչ: # API բանկոմատի սարքավորումների հետ փոխազդեցության համար: # SDK ինտերֆեյսը կարող է փոփոխվել/տարածվել համաձայն կողմերի պայմանագրի, եթե դա անհրաժեշտ է class SDK(ABC): @abstractmethod def count_banknotes(self, banknote: int) -> int: pass @abstractmethod def move_banknote_to_dispenser(self, banknote: int, count: int) -> None: pass @abstractmethod def open_dispenser(self) -> None: pass

141

# OneEditApart("կատու", "շուն") -> սխալ # OneEditApart("կատու", "կատուներ") -> ճիշտ # OneEditApart("կատու", "կտրում") -> ճիշտ # OneEditApart("կատու", "պատկեր") -> ճիշտ # OneEditApart("կատու", "մաս") -> ճիշտ # OneEditApart("կատու", "գործողություններ") -> սխալ def OneEditApart(s1, s2) -> bool:

141

class ATM(SKD): def __init__(self, atm_api: "SKD"): self.atm_api: SKD = atm_api self.bills_count: dict[int:int] = {bill: self.atm_api.count_banknotes(bill) for bill in BILLS} def withdraw(self, amount: int) -> bool: bills_plan: dict[int: int] = {} remaining = amount for bill in BILLS: available = self.bills_count[bill] take = min(remaining // bill, available) if take > 0: bills_plan[bill] = take remaining -= take * bill if remaining != 0: return False bills_count_const = {50: 0, 100: 2, 500: 0, 1000: 0, ...}, expected = True @pytest.mark.parametrize( "bills_count_const,expected", [ ({5000: 0, 1000: 0, 500: 0, 100: 0, 50: 0}, False), ({5000: 100, 1000: 100, 500: 100, 100: 100, 50: 100}, True), ({5000: 1, 1000: 0, 500: 0, 100: 2, 50: 0}, True) ] ) def test_false(bills_count_const, expected): atm = ATM(FakeSDK()) atm.bills_count = bills_count_const amount = 1000 res = atm.withdraw(amount) assert res == expected

141

Կա՞ք փորձառություն տարածված համակարգերի աջակցման կամ զարգացման մեջ։

141

Ի՞նչ էր ձեր պրակտիկայում երբևէ պահած կամ մշակած տվյալների առավելագույն չափը։

Junior — Middle
141

Կա՞ք փորձ ունեք բաշխված ճարտարապետությունների վրա հիմնված համակարգեր ստեղծելու և սպասարկելու։

Junior — Middle
140

Որ երկրներում եք դիտարկում աշխատանք կամ համագործակցության տարբերակներ?

Junior — Middle
139

Ի՞նչ փուլում է ձեր աշխատանքը կամ նախագիծը որոնելու գործընթացը։

Junior — Middle
137

```python from collections import Counter def min_s(a: str, s: str) -> str: need = set(a) window = Counter() res = "" c = 0 left = 0 best_len = float('inf') for right, char in enumerate(s): if char in need and \ window[char] += 1 if window[char] == 1: c += 1 while c == len(need): if right - left + 1 < best_len: res = s[left:right + 1] best_len = right - left + 1 if s[left] in need: window[s[left]] -= 1 if window[s[left]] == 0: c -= 1 left += 1 return res ```

136

Հարցազրույցը պարզաբանում է, տեսնում է թեկնածուն խնդիրների պայմանը։

134

Ի՞նչ սկզբունքով պետք է շարժել պատուհանի ձախ սահմանը, երբ այն արդեն ծածկում է ամբողջ այբուբենը։

130

Ինչպե՞ս ներկայացնենք այն գրաֆը, որը մեզ անհրաժեշտ է այս առաջադրանքի համար, և ինչպես ստանալ պատասխան (մարաշրուտ) նրանից։

130
/5