- Reklam teknolojisi alanındaki teknik mülakatlar, orta düzey SQL, pandas ile Python ve analitik becerilere odaklanmaktadır.
- SQL'de ve bunların pandas'taki karşılıklarında JOIN, GROUP BY, alt sorgular ve pencere fonksiyonlarına hakim olmak çok önemlidir.
- Doğruluk, F1 veya ROC-AUC gibi model değerlendirme ölçütlerini anlamak, gelişmiş analitik rollerinde değer katar.
- Etkili hazırlık, teoriyi, birçok pratik alıştırmayı ve akıl yürütmeyi sesli olarak açıklamayı öğrenmeyi bir araya getirir.

Eğer reklam teknolojisi , dijital analiz veya veri analizi alanlarında bir mülakata hazırlanıyorsanız , er ya da geç korkulan teknik testle karşılaşacaksınız. Şirketler burada, özgeçmişinize yazdığınız şeyleri gerçekten iyi bilip bilmediğinizi kontrol eder: Veri çıkarmak için SQL, verileri işlemek ve analiz etmek için Python ve tüm tablolar ve komut dosyaları arasında kaybolmamak için bazı analitik düşünme becerileri.
İyi haber şu ki, teknik mülakatlar sihirli değil: genellikle aynı SQL, Python ve model değerlendirme kalıpları etrafında dönüyorlar . Temelleri iyice anlarsanız, gerçek dünya egzersizleriyle pratik yaparsanız ve mantığınızı açıklamayı öğrenirseniz, diğer adaylara göre önemli bir avantaja sahip olacaksınız.
Teknik mülakatlar neden korkutucu (ve bu korkuyu nasıl azaltabilirsiniz)?
Reklam teknolojisi alanındaki veri analisti veya ürün geliştirme pozisyonlarında, teknik mülakatlar genellikle kavramsal soruları canlı, uygulamalı egzersizlerle birleştirir . Bir SQL sorgusunun işlevini açıklamanız veya programatik reklam kampanyası verilerini içeren bir iş senaryosunu çözmeniz istenebilir.
Genellikle üç alanda değerlendirileceksiniz: orta düzey SQL (JOIN, GROUP BY, alt sorgular, pencere fonksiyonları), veri odaklı Python (pandas, veri temizleme, toplama, birleştirme) ve sonuçları yorumlama ve bulguları iletme yeteneğiniz . Kıdemli bir veri bilimcisi aramıyorlar, daha ziyade verilerle sağlam ve güvenilir bir şekilde çalışabilen birini arıyorlar.
Birçok adayın yaptığı tipik hata, söz dizimini ezberlemeye odaklanmak ve HackerRank, StrataScratch gibi platformlarda veya şirketlerin kendi iç testlerinde karşılaşacağınız türden eksiksiz alıştırmaları yapmayı unutmaktır. Amacınız, mülakata düzinelerce çok benzer sorgu ve komut dosyasını çözmüş olarak gelmek olmalıdır.
Reklam teknolojisi ve veri analisti iş görüşmelerinde genellikle SQL seviyesi şartı aranmaktadır.
Reklam teknolojisi veya dijital pazarlama ortamlarında analist rolü için şirketler, klasik ilişkisel SQL konusunda yetkin olmanızı bekler : birden fazla tablodan veri çıkarma, birleştirme, gruplandırma, filtreleme ve faydalı ölçümler oluşturma. Veritabanı yönetimi becerilerine ihtiyaç duymazlar, ancak orta derecede karmaşık sorgularla rahat olmanız gerekir.
Genellikle test, INNER JOIN, LEFT JOIN, WHERE yan tümceli filtreler, GROUP BY ile toplama işlemleri ve HAVING yan tümceleri kullanılarak toplama işlemlerine ilişkin bazı koşulları birleştiren sorguları içerecektir. Buradan itibaren, biraz daha gelişmiş pozisyonlarda, sıralamalar, kümülatif toplamlar ve satır karşılaştırmaları için alt sorgular ve pencere fonksiyonları görmek çok yaygındır.
Reklam teknolojisi alanında, büyük olasılıkla "Hangi kampanyaların sektör ortalamasına göre daha yüksek tıklama oranı (CTR) var?" veya "Hangi yayıncılar geçen aya kıyasla gösterim kaybediyor?" gibi iş sorularına cevap vereceksiniz. Bunları verimli bir şekilde çözmek genellikle ilişkili alt sorgular ve pencere fonksiyonları hakkında temel bir anlayış gerektirir.
Sıkça sorulan temel SQL soruları (ve bunlara nasıl cevap verilir)
Veri odaklı teknik mülakatların neredeyse tamamında temel SQL teorisiyle ilgili sorular yer alır . Amaçları sizi zor durumda bırakmak değil, sağlam bir temeliniz olup olmadığını teyit etmektir.
En sık sorulan sorulardan biri WHERE ve HAVING arasındaki farktır . Bunu açıklamanın en net yolu, WHERE'in gruplandırmadan önce tek tek satırları filtrelemesi , HAVING'in ise zaten toplanmış grupları filtrelemesidir . Ayrıca, toplama fonksiyonları (COUNT, SUM, AVG, vb.) içeren koşulların WHERE yerine HAVING'e yerleştirilmesi gerektiğini de belirtebilirsiniz.
Bir diğer klasik soru ise hangi JOIN türlerinin mevcut olduğu ve her birinin ne zaman kullanılacağıdır: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN ve bazı durumlarda CROSS JOIN veya kendi kendine JOIN. Veri analizinde, LEFT JOIN, ikincil tabloda (örneğin, satın alımlar) ilişkili kayıt olmasa bile, birincil veri kümesinin tamamını (örneğin, tüm kullanıcılar) korumak istediğinizde yaygın olarak kullanılır.
Temel SQL sorgularına ve mantıklarına örnekler
"Minimum makul" seviye hakkında bir fikir vermek gerekirse, belirli sütunları seçme, satırları filtreleme ve sonuçları sıralama gibi sorguları hafızadan yazabilmeniz gerekir . Çok temel bir seviyede, tipik sorular şunlardır: bir tablodan tüm sütunları nasıl çıkarabilirim, yalnızca bazı sütunları nasıl seçebilirim veya AS ile okunabilir takma adları nasıl uygulayabilirim?
Ayrıca , AND, OR ve NOT operatörlerini birleştiren birden fazla koşullu WHERE yan tümcesi veya sayısal değerler ve tarihler için karşılaştırma operatörlerinin (<, <=, >, >=, =) nasıl kullanılacağı hakkında sorular da sıkça sorulmaktadır . Birçok şirket , yalnızca eşittir işaretini kullanmanın yeterli olmadığı, IS NULL veya IS NOT NULL kullanılması gereken NULL filtrelerine önem vermektedir.
Bir diğer klasik yöntem ise LIKE ve joker karakterler % ve _ kullanarak kalıplarla metin tabanlı filtrelemedir . Örneğin, adlarında belirli bir kelime içeren kampanyaları veya e-posta adresleri belirli bir alan adıyla biten kullanıcıları bulabilirsiniz. LIKE '%text%' ifadesinin , kalıbı dizenin herhangi bir yerinde aradığını açıklamak önemlidir .
Son olarak, bu temel bölüm genellikle UPDATE ile kayıtları nasıl güncelleyeceğinizi ve WHERE ile hangi satırların değiştirileceğini nasıl filtreleyeceğinizi, ayrıca DELETE FROM ile satırları nasıl sileceğinizi ve açık koşulları nasıl kullanacağınızı kapsar. Tablonun yarısını yanlışlıkla silmemek için her zaman belirli bir WHERE koşulu kullanmanın önemini vurgulamanız çok önemlidir.
Ara sorgular: GROUP BY, HAVING, alt sorgular ve UNION
Junior seviyesini geçtikten sonra, neredeyse her şirket GROUP BY, toplama fonksiyonları ve HAVING ile birlikte kullanılan toplama filtrelerinin birleşimine olan hakimiyetinize değer vermeye başlar . Kampanyalar, hedef kitleler ve reklam görselleri için performans raporları oluşturmak için günlük olarak kullanacağınız şey budur.
Şöyle çalışır: GROUP BY, satırları bir veya daha fazla sütuna göre gruplandırır ve bu gruplara SUM, COUNT, AVG, MIN ve MAX uygulayarak ölçümler hesaplayabilirsiniz. Ardından HAVING gelir; bu sayede yalnızca bir koşulu karşılayan grupları, örneğin belirli bir eşiğin üzerinde satış yapan müşterileri tutabilirsiniz.
Tekrar eden bir diğer tema ise alt sorgulardır : bir sorgunun içinde başka bir sorgu. Bunlar genellikle önceki bir adımda hesaplanan değerlere göre filtreleme yapmak için kullanılır; örneğin, küresel ortalamanın üzerinde satış yapan müşterileri veya %90'ın üzerinde gösterime sahip kampanyaları seçmek gibi.
Sıklıkla UNION ve UNION ALL arasındaki fark da soruluyor . UNION, aynı şemaya sahip iki sonuç kümesini birleştirir ve tekrarlanan kayıtları kaldırır; UNION ALL ise aynı işlemi yapar ancak tekrarlanan satırlar da dahil olmak üzere tüm satırları korur. Veri analizinde, performans nedenleriyle ve tüm orijinal kayıtları korumak istediğiniz için genellikle UNION ALL'ı tercih edersiniz.
Pencere fonksiyonları: SQL'de bir sonraki büyük adım
Pencere fonksiyonları, özellikle zaman içindeki eğilimlerin, kampanya sıralamalarının veya yatırım toplamlarının analiz edilmesi gereken reklam teknolojisiyle ilgili rollerde, belirli bir seviyede teknik testlerde standart hale gelmiştir.
Buradaki temel fikir, pencere fonksiyonunun, GROUP BY'ın yaptığı gibi sonucu daraltmadan, geçerli satırla ilgili bir dizi satır üzerinde bir değer hesaplamasıdır . Başka bir deyişle, her bir satırı ayrı ayrı görürsünüz, ancak buna bir "veri penceresi" üzerinde hesaplanan bir toplam da eşlik eder.
Tipik sözdizimi, fonksiyonu (SUM, AVG, RANK, vb.) ardından OVER kullanmak ve OVER içinde bölümlemeyi (PARTITION BY) ve sıralamayı (ORDER BY) tanımlamaktır. Örneğin, satış elemanına göre satış sıralamasını veya günlük toplam gösterim sayısını hesaplamak gibi.
Eğer yetkinliğinizi göstermek istiyorsanız, RANK, DENSE_RANK, ROW_NUMBER, LAG ve LEAD gibi fonksiyonlara aşina olmalısınız . Bunlar, kampanyaları performanslarına göre sıralamak, her dönemi bir öncekiyle karşılaştırmak veya temel metriklerdeki yıllık değişimleri belirlemek için çok kullanışlıdır.
CTE, kümülatif toplamlar ve hareketli ortalamalar
Modern iş görüşmelerinde, SQL kodunuzun okunabilirliği oldukça değerlidir. Bu nedenle, Ortak Tablo İfadeleri (CTE'ler) hakkında sıklıkla sorular sorulacaktır . Bir CTE, temelde WITH yan tümceleriyle tanımlanan ve yalnızca sorgunun yürütülmesi sırasında var olan, adlandırılmış geçici bir tablo türüdür.
CTE'ler, karmaşık sorguları mantıksal bloklara ayırmak ve ara sonuçları yeniden kullanmak için kullanılır. Örneğin, önce bir CTE'de kampanya başına günlük metrikleri hesaplarsınız ve ardından ana sorguda bu sonuç üzerinde ek toplama veya filtreleme işlemleri gerçekleştirirsiniz.
Bir diğer çok yaygın uygulama ise SUM fonksiyonunu pencere fonksiyonu olarak kullanarak kümülatif toplam hesaplamaktır . Reklam teknolojisi ortamlarında, bir kampanyanın zaman içindeki performansını görmek için kümülatif gösterim, tıklama veya harcama miktarlarının istenmesi normaldir.
Bununla ilgili olarak, hareketli ortalamalar kullanılır ; burada AVG, kaydırılmış bir satır çerçevesi üzerinde (örneğin, önceki iki tarih ve mevcut tarih) bir pencere fonksiyonu olarak uygulanır. Bu, zaman serilerini yumuşatmanın ve günlük zirvelere bu kadar çok güvenmeden trendleri tespit etmenin basit bir yoludur.
Veri analisti için genellikle gerekli olan Python seviyesi.
Çoğu veri analisti pozisyonunda (reklam teknolojisi dahil), şirketler sizden makine öğrenimi uzmanı olmanızı beklemez, ancak Python ve pandas'ı pratik olarak kullanabilmenizi beklerler . Genellikle, veri kümelerini yüklemeniz, temizlemeniz, dönüştürmeniz ve basit ölçümler veya görselleştirmeler elde etmeniz istenir.
Python testleri genellikle CSV dosyalarından veri okuma , boş değerleri ve sütun türlerini inceleme, satırları filtreleme, yeni sütunlar oluşturma, groupby kullanarak toplama işlemleri ve DataFrame'ler arasında birleştirmeler gibi işlemlere odaklanır . Çoğu durumda, ifade biçimi SQL bölümüyle neredeyse aynıdır, ancak pandas formatındadır.
Analist testlerinde sıfırdan karmaşık modeller oluşturmanız istenmesi yaygın bir durum değildir; ancak scikit-learn ile bağlantı kurarak temel bir model eğitebilme yeteneğiniz ve her şeyden önemlisi, performansını ölçmek için temel metrikler hakkındaki bilginiz değerli bulunabilir.
Pandas'ta bilmeniz gereken temel işlemler
Python ile ilgili herhangi bir veri alıştırmasını başarıyla tamamlamak için, temel DataFrame işlemlerine hakim olmanız gerekir. İlk adım genellikle `read_csv` kullanarak bir dosyayı yüklemek ve `head()`, `info()` veya `describe()` gibi yöntemlerle yapısını incelemektir.
Boş değerleri temizleme kısmı da genellikle karşımıza çıkar: isnull().sum() ile sütun başına kaç boş değer olduğunu saymak, dropna() ile tüm satırları veya sütunları silmeye veya fillna() ile eksik olanları doldurmaya karar vermek (örneğin sütunun ortalamasını veya medyanını kullanarak).
Filtreleme işlemlerine gelince, sayısal veya kategorik sütunlarda koşullar oluşturmanız istenecek; örneğin, belirli bir miktarın üzerindeki satışları veya & ve | operatörleriyle birlikte birden fazla koşulu karşılayan satırları seçmek gibi. Önemli olan, df ifadesini tereddüt etmeden nasıl yazacağınızı bilmektir.
Pandas'taki `groupby` ifadesinin açıklaması neredeyse her zaman verilir, çünkü bu SQL'deki `GROUP BY` ifadesinin doğrudan karşılığıdır. Bir veya daha fazla sütuna göre gruplandırma yaparsınız ve ardından `sum`, `mean`, `count` gibi toplama işlemleri uygularsınız. `groupby('column').agg()` sözdizimi çok önemlidir.
Veri çerçeveleri arasında birleştirme ve ekleme işlemleri
SQL'de JOIN'leri öğrenmek ne kadar önemliyse, pandas'ta da pd.merge'i öğrenmek o kadar zorunludur . Şirketler, örneğin kullanıcılar tablosunu etkinlikler veya satın alımlar tablosuyla birleştirmek gibi, ortak bir anahtara sahip veri kümelerini nasıl birleştireceğinizi bilip bilmediğinizi görmek isteyecektir.
Birleştirme fonksiyonu, birleştirilecek iki DataFrame'i, anahtar sütunu (on) ve birleştirme türünü (how) alır; bu tür, SQL'de olduğu gibi 'left', 'right', 'inner' veya 'outer' olabilir. Veri analizinde, sol birleştirme esas olarak ana veri setini korumak ve ikincil tablolardan öznitelikler veya ölçümler eklemek için kullanılır.
Mülakatta, her iki tarafta da yinelenen anahtarlar olduğunda ne olacağı veya parametre sonekleriyle sütun adı çakışmalarının nasıl ele alınacağı gibi ayrıntılardan bahsetmek iyi bir fikirdir. Bu, daha yüksek bir olgunluk seviyesini gösterir.
Tipik, daha teorik Python soruları
Pandas'ın ötesinde, birçok mülakatta dil hakkındaki anlayışınızı test etmek için kısa bir genel Python soru bloğu yer alır . Bunlar genellikle özellikler, bellek, veri tipleri veya küçük sözdizimi parçalarıyla ilgili kısa sorulardır.
Tekrar tekrar ele alınan konular arasında , kullanıcının doğrudan erişemediği özel bir yığın bellek ve artık referansı olmayan nesneleri serbest bırakmaktan sorumlu bir çöp toplayıcıya dayalı Python'daki otomatik bellek yönetimi yer almaktadır.
Python ile Java'yı karşılaştırmanız da sıkça istenir; bu , bir kazanan belirlemek için değil, aralarındaki farkları anladığınızı göstermek içindir: Python daha dinamik, daha özlü bir sözdizimine sahip, prototipleme ve veri bilimi için mükemmeldir; Java ise daha çok kurumsal ve yüksek performanslı ekosistemlerde baskın olma eğilimindedir.
Diğer tipik sorular, lambda ifadeleri (basit işlemler için anonim fonksiyonlar), nesneleri baytlara serileştirme ve geri alma işlemleri için kullanılan serileştirme/sergi çözme süreçleri veya listeler ve demetler arasındaki fark etrafında döner; burada listeler değiştirilebilir ve köşeli parantezlerle tanımlanırken, demetler değiştirilemez ve parantezlerle tanımlanır.
Mülakatlarda daha çok karşımıza çıkacak temel Python kavramları
Python'da bir nesneyi nasıl sileceğiniz veya kopyalayacağınız sıkça sorulan bir sorudur . Genellikle, bir referansı kaldırmak için `del` ifadesini kullanabileceğinizi ve sığ kopyalama işlemlerinin `copy.copy()` ile, derin kopyalama işlemlerinin ise `copy.deepcopy()` ile yapıldığını açıklamak yeterlidir.
Özellikle arka uç profillerinde ortaya çıkabilecek bir diğer kavram ise, birçok kullanıcının veya işlemin aynı anda bir kaynağa (örneğin bir web sitesine veya önbelleğe) saldırdığı ve sistemi aşırı yüklediği senaryoyu tanımlayan " yığın etkisi" olarak adlandırılan durumdur.
Ekosistemle ilgili olarak, Python ile kullanılabilecek veritabanları hakkında da sorularla karşılaşabilirsiniz . En mantıklı yaklaşım, MySQL, PostgreSQL, SQLite, MongoDB ve Oracle gibi popüler veritabanlarından bahsetmek ve Python'ın genel olarak çok çeşitli ilişkisel ve NoSQL veritabanı motorlarıyla iyi entegre olduğunu belirtmektir.
Son olarak, genellikle daha basit sorular ortaya çıkar; örneğin, bir sözlüğü `sorted` fonksiyonu kullanarak nasıl sıralayacağınız , ad alanının ne olduğu ve ne için kullanıldığı (farklı kapsamlardaki nesnelere adlar atamak) veya `run()` veya `Popen()` gibi fonksiyonlarla `subprocess` modülünü kullanarak bir alt işlemi nasıl başlatacağınız gibi.
Python'da modelleri değerlendirmek için ölçütler: bilmeniz gereken minimum bilgiler
Analist pozisyonlarının çoğunda derin öğrenme mimarileri tasarlamanız gerekmese de, özellikle veri ürünleri, kampanya ilişkilendirmesi veya reklam teknolojisinde sahtekarlık tespiti gibi alanlarda çalışıyorsanız, sınıflandırma modellerini değerlendirmek için temel ölçütlere aşina olmanız yaygındır.
Başlangıç noktası , ikili veya çok sınıflı bir sınıflandırıcının başarılarını ve başarısızlıklarını özetleyen karışıklık matrisidir . İkili durumda, bu matris doğru pozitifler (TP), doğru negatifler (TN), yanlış pozitifler (FP) ve yanlış negatifler (FN) olarak ayrılır. Bu dört kategorinin iyice anlaşılması çok önemlidir.
Matristen, doğru tahminlerin toplam içindeki yüzdesini ölçen doğruluk ; kesinlik (TP / pozitif tahminler); ve geri çağırma veya duyarlılık (TP / gerçek pozitifler) gibi metrikler elde edilir. Bu son iki metrik, sınıflar dengesiz olduğunda özellikle önemlidir.
F1 puanı, doğruluk ve geri çağırma oranlarını harmonik ortalama kullanarak birleştirir ve her ikisi için de özellikle düşük puanları cezalandırır. Sahtekarlık tespiti, potansiyel müşteri puanlaması veya hastalık tespiti gibi hem yanlış pozitiflerin hem de yanlış negatiflerin maliyetli olduğu senaryolarda yaygın bir ölçüttür.
Diğer gelişmiş ölçümler: ROC-AUC, logloss, Jaccard ve daha fazlası.
Veri bilimi veya pazarlama analitiği bileşeni daha güçlü olan pozisyonlar için şirketler, ROC eğrisinin altındaki alanı ölçen ve bir modelin sınıfları ayırma yeteneğini yansıtan ROC-AUC gibi daha gelişmiş metriklerde uzman olup olmadığınızı inceler .
ROC eğrisi, farklı karar eşiklerinde doğru pozitif oranı (geri çağırma) ile yanlış pozitif oranı (1 – özgüllük) arasındaki ilişkiyi gösterir. Rastgele bir model diyagonal bir çizgi üzerinde yer alırken, iyi bir model sol üst köşeye daha yakın olur. Eğri altındaki alan ne kadar büyükse, ayırt etme yeteneği o kadar iyidir.
Bir diğer yaygın ölçüt ise log kaybıdır (logloss) , bu da tahmin edilen olasılıkların kalitesini değerlendirir ve aşırı güveni ve hataları ağır şekilde cezalandırır. Mükemmel bir modelin log kaybı 0 olur ve genellikle log kaybı ne kadar düşükse o kadar iyidir.
Ayrıca , iki küme arasındaki benzerliği kesişim kümesinin büyüklüğünün birleşim kümesinin büyüklüğüne bölünmesiyle ölçen Jaccard indeksi hakkında da size soru sorabilirler . Bu indeks, diğer şeylerin yanı sıra sınıflandırıcıları, segmentasyonu ve öneri sistemlerini değerlendirmek için kullanılır.
Bazı bağlamlarda, yalnızca popülasyonun bir bölümünü (örneğin, modeliniz tarafından değerlendirilen kullanıcıların en üst %20'si) kullanarak hedef kitlenin yüzde kaçını yakaladığınızı gösteren kazanç ve yükseliş grafikleri bahsedilir . Bu, pazarlamada öncelikle kimi hedefleyeceğinize karar vermek için yaygın olarak kullanılır.
Kolmogorov-Smirnov, Gini katsayısı ve derinlemesine değerlendirme
Şirket, puanlama veya risk modellerine yoğunlaşmışsa, pozitif ve negatif puan dağılımları arasındaki ayrım derecesini ölçen Kolmogorov-Smirnov (KS) istatistiği gibi ölçütler ortaya çıkabilir .
KS değeri 100'e (yüzde olarak) yakınsa, model iki popülasyonu neredeyse mükemmel bir şekilde ayırdığını gösterir; 0'a yakın bir değer ise modelin şans eseri ayırt etme yeteneğinden daha iyi bir ayrım yapmadığını ifade eder. Pratikte, gerçek dünya modelleri ara değerler arasında yer alır ve en iyisini seçmek için birbirleriyle karşılaştırılır.
Gini katsayısı, ROC-AUC'den türetilen ve Gini = 2 × AUC – 1 formülüyle hesaplanan başka bir ölçümdür. Kredi ve sigorta sektörlerinde oldukça popüler olan bu katsayı, eşitsizliğin bir ölçüsü olarak da yorumlanır: Gini katsayısı ne kadar yüksekse, modelin gerçek pozitifleri daha yüksek puanlarda yoğunlaştırma yeteneği de o kadar fazladır.
Daha ileri seviye mülakatlarda, bu metriklerin (örneğin, confusion_matrix, accuracy_score, roc_auc_score, f1_score…) Python'da scikit-learn kullanılarak nasıl uygulandığını açıklamanız ve problemin niteliğine ve sınıf dengesizliğine bağlı olarak her birini ne zaman kullanacağınız konusunda yorum yapmanız istenebilir.
Teknik mülakat sırasında cevaplarınızı nasıl yapılandırmalısınız?
Yazdığınız kodun ötesinde, mülakatçılar düşünme biçiminize ve kendinizi nasıl ifade ettiğinize çok dikkat ederler . Kötü yapılandırılmış bir cevap, doğru çözümü biliyor olsanız bile, olduğunuzdan daha deneyimsiz görünmenize neden olabilir.
Teknik soruları yanıtlamanın çok faydalı bir yolu şöyledir: Öncelikle kavramı tek bir cümleyle açıklayın , ardından somut bir örnek verin (ideal olarak kendi projelerinizden biriyle bağlantılı olsun) ve gerekirse alternatiflerden veya nüanslardan bahsedin . Bu yöntem SQL, Python veya model metrikleri için de aynı derecede işe yarar.
Örneğin, bir CTE'nin ne işe yaradığı sorulursa, karmaşık sorguların okunabilirliğini artıran, adlandırılmış geçici bir alt sorgu olduğunu söyleyebilir, ara bir sonucu birkaç kez yeniden kullanmanız gerektiğinde kullandığınızı ekleyebilir ve bazı durumlarda daha az açık olsa da iç içe alt sorgularla değiştirilebileceğini belirtebilirsiniz.
Sesli düşünmek de çok önemli . Eğer takılıp kalırsanız, sessiz kalmayın: Ne yapmaya çalıştığınızı, hangi bilgilerin eksik olduğunu, hangi varsayımlarda bulunduğunuzu dile getirin. Bu, mülakatçının düşünme sürecinizi görmesine yardımcı olur ve bazen ilerlemenizi kolaylaştıracak ipuçları veya açıklamalar bile sağlar.
Teknik veri mülakatlarında en sık yapılan hatalar
Birçok aday, yeterli SQL veya Python becerisine sahip olmamaları nedeniyle değil, yetersiz hazırlık ve iletişim hatalarının birleşimi nedeniyle eleniyor . Bu yaygın tuzakların tamamen farkında olmak ve bunlardan kaçınmak çok önemlidir.
Birincisi, anlamadan ezberlemektir . RANK veya lambda fonksiyonunun sözdizimini bilmek, bu araçları hangi durumlarda kullanacağınızı veya neden diğer alternatiflere tercih edileceğini açıklayamıyorsanız pek işe yaramaz.
Bir diğer çok yaygın hata ise alıştırmalarda veri kalitesini incelememektir . Size bir veri seti verildiğinde, toplama işlemine başlamadan önce, analizi çarpıtabilecek boş değerleri, tekrarlanan kayıtları veya aykırı değerleri kontrol etmeniz önerilir. Bu, sağlam bir muhakeme yeteneği ve pratik deneyim gösterir.
Açıklayıcı sorular sormaktan kaçınmak da son derece zararlıdır . Örneğin, reklam kampanyalarıyla ilgili bir iş vakasında, mevsimsellik, hedef zaman dilimi, kullanıcı başına mı yoksa gösterim başına mı ölçüm istendiği gibi konuları sormak son derece mantıklıdır. Sessiz kalmak ve varsayımlarda bulunmak, genellikle görüşmecinin aklındakiyle pek uyumlu olmayan çözümlere yol açar.
Son olarak, "aşırı kodlama" yaklaşımından kaçının: sorgu veya komut dosyası daha basit olabilecekken gereksiz yere karmaşık çözümler oluşturmaktan uzak durun. Gerçek dünya çalışma ortamlarında, bulmaca benzeri çözümlerden ziyade açıklık, sürdürülebilirlik ve verimlilik değerlidir.
Yoğun iki haftalık eğitim planı
Mülakattan önce sınırlı zamanınız varsa, üç temel alanı kapsayan yoğunlaştırılmış bir plan izleyebilirsiniz: SQL, pandas ile Python ve pratik uygulama. 14 günde mucizeler yaratamazsınız, ancak sağlam bir yeterlilik seviyesi ve makul bir özgüvenle mülakata girebilirsiniz.
İlk birkaç gün boyunca, başlangıç seviyesinden orta seviyeye kadar SQL'e odaklanmak iyi bir fikirdir : temel sözdizimi, JOIN'ler, GROUP BY, alt sorgular ve en yaygın pencere fonksiyonlarını gözden geçirin. Hem örnekleri okumaya hem de kendi sorgularınızı yazmaya zaman ayırın.
İkinci aşamada, pandas'a odaklanın : veri yükleme, temizleme, filtreleme, gruplandırma, birleştirme ve matplotlib veya seaborn ile hızlı görselleştirme. Karmaşık panolar oluşturmanıza gerek yok, ancak SQL'de gerçekleştireceğiniz dönüşümlerin aynısını Python'da da tekrarlayabilmeniz gerekiyor.
Ardından, HackerRank gibi platformlarda veya teknik mülakat soru bankalarında pratik egzersizler yapmak için birkaç gün ayırın . Amaç, formatına, zaman kısıtlamalarına ve kontrollü bir ortamda kod yazmanın baskısına alışmaktır.
Son olarak, bir veya iki tam mülakat simülasyonu deneyin : herkese açık bir veri kümesi alın, makul iş soruları sorun, bunları SQL veya Python ile çözün ve ilk araştırmadan nihai sonuçlara kadar tüm mantığınızı yüksek sesle açıklayın.
Teorik tekrar, rehberli uygulama ve gerçekçi alıştırmaların iyi bir kombinasyonuyla, mülakat gününe orta düzey SQL, veri analizi için Python ve model metrikleri konusunda sağlam bir temel ile geleceksiniz; bu da reklam teknolojisi ve veri analitiği alanındaki çoğu şirketin görmek istediği şeydir.