Sobes.tech

Data Analyst

Er was eens een Yandex Ads-fraude stagiair die zich bij het team voegde. Terwijl de fraudegroep actief was, die verkeer op hun sites simuleerde via botbezoeken, en zo geld verdiende voor advertentievertoningen door bots, was de taak van de stagiair om al die frauduleuze sites met nepverkeer te vinden. Interessant is dat al het verkeer op deze sites werd gegenereerd met IP-vervanging, waardoor het leek alsof een bot vanuit stad A de site bezocht, maar in werkelijkheid was het apparaat op een totaal andere locatie. Er ging veel tijd voorbij, en de stagiair probeerde deze hele fraudegroep te dekken, zelfs enkele sites gedeeltelijk te vangen. Maar de hele netwerken konden niet worden gevangen. Na enige tijd merkte hij een nieuwsbericht op: in stad A was op 02.08.2025 helemaal geen mobiel internet. Echter, bekabeld (thuis) internet bleef werken. Gezien dit, hoe kan de stagiair alle nep sites vinden? Je hebt logs van sites in tabelvorm voor de periode van 30.07.2025 tot 10.08.2025: timestamp | site_id | city_id Elk record komt overeen met een bezoek aan een site door één apparaat. Het is bekend dat botverkeer aanzienlijk minder verandert dan echt verkeer per dag. Jouw taak is om alle sites te vinden waarvan het verkeer voornamelijk uit bots bestond die hun regio vervalsten naar stad A. Opmerking De tabel met gegevens heet logs. Voorbeeld van een tabelrecord: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A

Intern
Яндекс
0

Afanasy werkte twee weken aan het schrijven van code die in staat was Japanse kruiswoordpuzzels op te lossen met ondersteuning voor negen kleuren, toen hij tijdens een teamvergadering hoorde dat een collega het zelf sneller kon doen, en dat het programma geen zin meer had. Maar Afanasy, als optimist, besloot door te gaan met oefenen en deed het volgende — schatte hoe goed zijn collega met kruiswoordpuzzels omgaat. Voor deze beoordeling koos hij een analoog van de IoU-metriek — de berekening zal vergelijkbaar zijn met de klassieke Intersection Over Union, maar per kleur. Het werkt als volgt: elke overeenkomende cel in het origineel en de oplossing per kleur telt 1 op bij de teller, en in de noemer wordt 1 toegevoegd voor elke cel in het origineel en de oplossing (voor overeenkomende cellen wordt slechts één toegevoegd). Daarna wordt er een gemiddelde genomen over het aantal kleuren in de originele afbeelding, afgerond op twee decimalen; nul wordt niet als kleur beschouwd, dus de metriek mag niet worden berekend voor cellen van deze kleur. De invoer begint met een regel die het aantal rijen n en kolommen m bevat (in die volgorde). Vervolgens volgen 2n regels, met m getallen gescheiden door spaties — de eerste n regels betreffen de ingediende kruiswoordpuzzel, en de volgende n — de originele afbeelding. Het wordt aangenomen dat elke regel, vanaf de tweede, precies m getallen bevat. Als antwoord moet u een getal afdrukken, afgerond op twee decimalen, zoals in de voorbeelden. Hier zijn enkele voorbeelden: 1. Eerste voorbeeld [phone] -> 1.0 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (1.0 + 1.0 + 1.0 + 1.0) / aantal kleuren (4) 2. Tweede voorbeeld [phone] -> 0.08 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (0.25 + 0.0 + 0.0) / aantal kleuren (3); nullen worden niet meegeteld, noch als cellen in de representaties, noch in het aantal kleuren. 3. Derde voorbeeld [phone] waar de ingediende afbeelding begint [phone] — waar de ingediende afbeelding eindigt 0 1 2 — waar de originele afbeelding begint [phone] -> 0.47 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (0.4 + 0.5 + 0.5) / aantal kleuren (3); nullen worden niet meegeteld, noch als cellen in de representaties, noch in het aantal kleuren. 4. Vierde voorbeeld [phone] -> 0.0 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (0.0) / aantal kleuren (1); nullen worden niet meegeteld, noch als cellen in de representaties, noch in het aantal kleuren.

Intern
Яндекс
0

B. Voorvoegsels en Achtervoegsels Gegeven een gesorteerde array van n nullen. In elke stap kun je een willekeurig aantal van de eerste of laatste elementen van deze array kiezen, en één optellen bij alle geselecteerde elementen. Is het mogelijk om de gespecificeerde toestand van de array te bereiken na een bepaald aantal van dergelijke operaties? Invoerformaat De eerste regel bevat een geheel getal 1 ≤ n ≤ 100000 — het aantal elementen in de array. De tweede regel bevat n niet-negatieve gehele getallen a1, a2, ..., an gescheiden door spaties, waarbij ai ≤ 10^18 — de gewenste eindwaarden. Uitvoerformaat Print "YES" als zo'n toestand haalbaar is, en "NO" als dat niet zo is. Voorbeeld Invoer [phone] Uitvoer YES Opmerking De staten [phone] kunnen als volgt worden bereikt: 1. Voeg één toe aan de eerste drie elementen, resulterend in [phone] 2. Voeg één toe aan de laatste vier elementen, resulterend in [phone] 3. Voeg één toe aan het laatste element, resulterend in [phone]

Intern
Яндекс
0

D. Chinese vuurwerk Vladimir heeft een set van 3 Chinese vuurwerken gekocht. Ze zien er precies hetzelfde uit en zijn door elkaar gemengd in een doos, maar volgens de instructies hebben ze verschillende betrouwbaarheid: 1. "Elite" — defectpercentage 10% (kans op succes 0.9). 2. "Standaard" — defectpercentage 20% (kans op succes 0.8). 3. "Economy" — defectpercentage 40% (kans op succes 0.6). Vladimir pakt willekeurig het eerste vuurwerk, steekt het aan, en het werkt succesvol. Blij besluit Vladimir de resterende twee vuurwerken achter elkaar te lanceren. Wat is de kans dat zowel het tweede als het derde vuurwerk ook succesvol afgaat — zonder defect? Rond het antwoord af op drie decimalen.

Intern
Яндекс
0

Zou de voorgestelde oplossing werken voor SQLite?

Intern
Яндекс
0

A. De Beste Wetenschappelijke Laboratorium In een bepaalde stad houden verschillende wetenschappelijke laboratoria zich bezig met het onderzoeken van bacteriële culturen. Ze bestuderen een reeks monsters, waarbij elk monster behoort tot een bepaald stam (soort bacterie). De hoofd biologisch onderzoeksuniversiteit heeft een wedstrijd aangekondigd: het maximale aantal opeenvolgende monsters te vinden dat geanalyseerd kan worden met inachtneming van de beperking. Met name: in elk continu segment van de reeks mag niet meer dan K verschillende stammen zijn. Ons laboratorium streeft ernaar de beste in de stad te worden. Om de wedstrijd te winnen, moeten we precies zo'n maximale lengte van een segment vinden die aan de strikte voorwaarde voldoet. We rekenen op jou, want bij overwinning krijgt het laboratorium een subsidie die nieuwe horizonten voor ons onderzoek opent. Invoerformaat De eerste regel bevat twee getallen: N — de lengte van de reeks monsters en K — de beperking op het aantal verschillende stammen. De tweede regel bevat N getallen — de elementen van de reeks. Uitvoerformaat Het programma moet het getal van de maximale lengte van een segment van de reeks monsters uitprinten. Voorbeeld 1 Invoer [phone] Uitvoer 3

Intern
Яндекс
0

D. Chinese vuurwerk Vladimir heeft een set van 3 Chinese vuurwerken gekocht. Ze zien er precies hetzelfde uit en zijn door elkaar gemengd in een doos, maar volgens de instructies hebben ze verschillende betrouwbaarheid: 1. "Elit" — defectpercentage 10% (kans op succes 0.9). 2. "Standaard" — defectpercentage 20% (kans op succes 0.8). 3. "Economisch" — defectpercentage 40% (kans op succes 0.6). Vladimir pakt willekeurig het eerste vuurwerk, steekt het aan, en het werkt succesvol. Blij besluit Vladimir de resterende twee vuurwerken achter elkaar te lanceren. Wat is de kans dat zowel het tweede als het derde vuurwerk ook succesvol afgaat — zonder defect? Rond het antwoord af op drie decimalen.

Intern
Яндекс
0
/15