[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:security\u002Fjunior":4,"config":234},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":8,"spec_key":8,"spec_name":8,"locale":9,"cell_total":10,"field_total":11,"seniorities":12,"topics":15,"specs":131,"samples":148},"security","Güvenlik","junior","","tr",1888,2850,[7,13,14],"mid","senior",[16,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125,128],{"key":17,"name":18,"count":19},"as-access-control-idor","As Access Control Idor",75,{"key":21,"name":22,"count":19},"as-api-security","As Api Security",{"key":24,"name":25,"count":19},"as-authentication-session","As Authentication Session",{"key":27,"name":28,"count":19},"as-crypto-implementation-pitfalls","As Crypto Implementation Pitfalls",{"key":30,"name":31,"count":19},"as-injection-input-validation","As Injection Input Validation",{"key":33,"name":34,"count":19},"as-secure-sdlc-sast-dast","As Secure Sdlc Sast Dast",{"key":36,"name":37,"count":19},"bt-crisis-communication-management","Bt Crisis Communication Management",{"key":39,"name":40,"count":19},"bt-detection-engineering-tuning","Bt Detection Engineering Tuning",{"key":42,"name":43,"count":19},"bt-digital-forensics-fundamentals","Bt Digital Forensics Fundamentals",{"key":45,"name":46,"count":19},"bt-incident-triage-classification","Bt Incident Triage Classification",{"key":48,"name":49,"count":19},"bt-ir-playbook-execution","Bt Ir Playbook Execution",{"key":51,"name":52,"count":19},"bt-threat-intelligence-application","Bt Threat Intelligence Application",{"key":54,"name":55,"count":19},"cse-container-workload-security","Cse Container Workload Security",{"key":57,"name":58,"count":19},"cse-cspm-misconfiguration","Cse Cspm Misconfiguration",{"key":60,"name":61,"count":19},"cse-data-protection-governance","Cse Data Protection Governance",{"key":63,"name":64,"count":19},"cse-detection-incident-response","Cse Detection Incident Response",{"key":66,"name":67,"count":19},"cse-iam-privilege-escalation","Cse Iam Privilege Escalation",{"key":69,"name":70,"count":19},"cse-network-perimeter-zero-trust","Cse Network Perimeter Zero Trust",{"key":72,"name":73,"count":19},"ds-iac-policy-as-code","Ds Iac Policy As Code",{"key":75,"name":76,"count":19},"ds-pipeline-security-gates","Ds Pipeline Security Gates",{"key":78,"name":79,"count":19},"ds-secrets-pipeline-management","Ds Secrets Pipeline Management",{"key":81,"name":82,"count":19},"ds-security-metrics-blameless-culture","Ds Security Metrics Blameless Culture",{"key":84,"name":85,"count":19},"ds-shift-left-security-culture","Ds Shift Left Security Culture",{"key":87,"name":88,"count":19},"ds-software-supply-chain-pipeline","Ds Software Supply Chain Pipeline",{"key":90,"name":91,"count":19},"pt-legal-ethical-boundaries","Pt Legal Ethical Boundaries",{"key":93,"name":94,"count":19},"pt-methodology-phases","Pt Methodology Phases",{"key":96,"name":97,"count":19},"pt-red-team-engagement-management","Pt Red Team Engagement Management",{"key":99,"name":100,"count":19},"pt-reporting-remediation-prioritization","Pt Reporting Remediation Prioritization",{"key":102,"name":103,"count":19},"pt-scoping-rules-of-engagement","Pt Scoping Rules Of Engagement",{"key":105,"name":106,"count":19},"pt-vulnerability-assessment-vs-pentest","Pt Vulnerability Assessment Vs Pentest",{"key":108,"name":109,"count":19},"security-authn-authz","Security Authn Authz",{"key":111,"name":112,"count":19},"security-cloud-infra-security","Security Cloud Infra Security",{"key":114,"name":115,"count":19},"security-compliance-risk","Security Compliance Risk",{"key":117,"name":118,"count":19},"security-cryptography-basics","Security Cryptography Basics",{"key":120,"name":121,"count":19},"security-incident-response","Security Incident Response",{"key":123,"name":124,"count":19},"security-network-security","Security Network Security",{"key":126,"name":127,"count":19},"security-secure-sdlc","Security Secure Sdlc",{"key":129,"name":130,"count":19},"security-web-vulnerabilities","Security Web Vulnerabilities",[132,136,139,142,145],{"key":133,"name":134,"count":135},"appsec","AppSec",450,{"key":137,"name":138,"count":135},"blue-team-incident","Blue Team \u002F Incident",{"key":140,"name":141,"count":135},"cloud-security","Cloud Security",{"key":143,"name":144,"count":135},"devsecops","DevSecOps",{"key":146,"name":147,"count":135},"offensive-pentest","Offensive \u002F Pentest",[149,167,181,194,207,220],{"id":150,"topic":109,"difficulty":151,"body":152,"options":153,"correct_key":155,"explanation":166},"019f686c-5929-7eff-9980-4d2853d43f28",1,"Kimlik doğrulama (authentication) ile yetkilendirme (authorization) arasındaki temel kavramsal fark nedir?",[154,157,160,163],{"key":155,"text":156},"a","Kimlik doğrulama kim olduğunu doğrular; yetkilendirme ne yapmaya izinli olduğuna karar verir",{"key":158,"text":159},"b","Kimlik doğrulama ne yapmaya izinli olduğuna karar verir; yetkilendirme kim olduğunu doğrular",{"key":161,"text":162},"c","İkisi aynı kimlik doğrulama adımının farklı isimleridir",{"key":164,"text":165},"d","Kimlik doğrulama yalnızca insanlar için, yetkilendirme yalnızca makine hesapları için geçerlidir","Kimlik doğrulama (ör. kimlik bilgileriyle kim olduğunu kanıtlama) ve yetkilendirme (kurulan bu kimliğe göre izinleri kontrol etme) birbirinden ayrı ve her zaman bu sırayla işleyen adımlardır — bir sistem, çağıranın ne yapabileceğine karar vermeden önce kim olduğunu bilmelidir.",{"id":168,"topic":109,"difficulty":169,"body":170,"options":171,"correct_key":158,"explanation":180},"019f686c-592f-7ab1-a223-0e27f918b4e2",2,"Bir kullanıcı geçerli bir parolayla başarıyla giriş yapıyor ama sonra istekteki bir ID'yi değiştirerek başka bir kullanıcının özel sipariş geçmişini açmaya çalışıyor. İstek engelleniyor. Bunu hangi güvenlik kontrolü yakaladı?",[172,174,176,178],{"key":155,"text":173},"Kimlik doğrulama, çünkü ikinci istekte parola tekrar kontrol edildi",{"key":158,"text":175},"Yetkilendirme, çünkü sistem istenen kaynak için izinleri kontrol etti",{"key":161,"text":177},"Şifreleme, çünkü istekteki ID okunamaz durumdaydı",{"key":164,"text":179},"Rate limiting, çünkü kısa sürede çok fazla istek gönderildi","Kullanıcı zaten kimlik doğrulamasını geçmişti (giriş başarılıydı); engelleme, sistem bu doğrulanmış kimliğin belirli bir kaynağa erişim iznine sahip olup olmadığını değerlendirdiğinde gerçekleşti — bu kontrol, kaç istek gönderildiğinden bağımsız olarak yetkilendirmedir.",{"id":182,"topic":109,"difficulty":169,"body":183,"options":184,"correct_key":161,"explanation":193},"019f686c-5930-78af-a6ba-47a59c8a1ed4","Bir sistem kullanıcıyı teknik olarak doğru şekilde kimlik doğrulasa da neden yine de yanlış bir güvenlik kararı verebilir?",[185,187,189,191],{"key":155,"text":186},"Çünkü kimlik doğrulama ve yetkilendirme her zaman birlikte başarısız olur",{"key":158,"text":188},"Çünkü doğru kimlik doğrulama otomatik olarak her kaynağa tam erişim verir",{"key":161,"text":190},"Çünkü yetkilendirme, doğru kimlik doğrulamadan bağımsız olarak hata verebilir",{"key":164,"text":192},"Çünkü parolalar yetkilendirme kurallarından daha hızlı süresi dolar","Kimlik doğrulama ve yetkilendirme ayrı ayrı uygulanan kontrollerdir. Kusursuz işleyen bir giriş akışı, ardından gelen kodun artık bilinen kimliğin ne yapabileceğini doğru şekilde kısıtlayıp kısıtlamadığı hakkında hiçbir şey söylemez — bu, sık hata yapılan ayrı bir katmandır.",{"id":195,"topic":109,"difficulty":151,"body":196,"options":197,"correct_key":158,"explanation":206},"019f686c-5931-7450-aa1a-b0c651680c1c","Session (oturum) tabanlı kimlik doğrulamada, kimin giriş yapmış olduğuna dair yetkili kayıt genellikle nerede tutulur?",[198,200,202,204],{"key":155,"text":199},"Yalnızca tarayıcının local storage'ında, sunucuda asla tutulmaz",{"key":158,"text":201},"Sunucu taraflı oturum durumunda, istemcinin tuttuğu bir tanımlayıcıyla referanslanır",{"key":161,"text":203},"Kullanıcının parolasının içinde, her istekte tekrar gönderilir",{"key":164,"text":205},"Hiçbir yerde — session tabanlı kimlik doğrulama tanım gereği sunucu tarafında durum tutmaz","Session tabanlı kimlik doğrulama, yetkili giriş durumunu sunucuda (bellekte, veritabanında veya paylaşılan bir depoda) tutar; istemci yalnızca her istekte bu durumu bulmak için kullanılan opak bir oturum tanımlayıcısı taşır.",{"id":208,"topic":109,"difficulty":169,"body":209,"options":210,"correct_key":155,"explanation":219},"019f686c-5931-7eb2-a6d0-c8207bf65b9f","Bir backend ekibi, session tabanlı kimlik doğrulamadan; kimlik iddialarını taşıyan ve sunucu taraflı bir sorgu yapılmadan doğrulanabilen kendi kendine yeten token'lara geçiyor. Kabul ettikleri temel trade-off nedir?",[211,213,215,217],{"key":155,"text":212},"Daha kolay yatay ölçeklenme, ama verilmiş bir kimlik bilgisinin anında iptalinin zorlaşması",{"key":158,"text":214},"Daha zor yatay ölçeklenme, ama verilmiş her kimlik bilgisinin anında iptali",{"key":161,"text":216},"Ölçeklenme veya iptalde bir değişiklik yok, sadece farklı bir tel formatı",{"key":164,"text":218},"Token'lar kimlik doğrulama ihtiyacını tamamen ortadan kaldırır","Kendi kendine yeten token'lar sunucu taraflı bir oturum deposu sorgusuna ihtiyaç duymaz, bu yüzden herhangi bir stateless sunucu onları doğrulayabilir — ölçeklenme için iyidir. Bedeli, ekstra bir iptal mekanizması (kara liste, kısa ömür vb.) eklenmedikçe token'ın süresi dolana kadar geçerli kalmasıdır; oysa bir oturum sunucu tarafında anında silinebilir.",{"id":221,"topic":109,"difficulty":222,"body":223,"options":224,"correct_key":164,"explanation":233},"019f686c-5932-7bdc-a789-df416c8ce241",3,"Session tabanlı ve token tabanlı kimlik yönetimini karşılaştıran hangi ifade doğrudur?",[225,227,229,231],{"key":155,"text":226},"Session tabanlı yaklaşımlar doğası gereği güvensiz, token tabanlı yaklaşımlar doğası gereği güvenlidir",{"key":158,"text":228},"Token tabanlı yaklaşımlar asla süresi dolmaz, session tabanlı yaklaşımlar her zaman süresi dolar",{"key":161,"text":230},"Session tabanlı yaklaşımlar hiçbir koşulda birden fazla sunucuda çalışamaz",{"key":164,"text":232},"İkisinin de ölçeklenme ve iptal konusunda farklı trade-off'ları vardır; hiçbiri evrensel olarak üstün değildir","Hiçbir model kategorik olarak 'daha güvenli' değildir — seçim, sunucu taraflı durum (kolay iptal, ölçeklenmek için paylaşılan oturum deposu gerektirir) ile kendi kendine yeten token'lar (kolay ölçeklenme, anında iptalin daha zor olması) arasında bir mühendislik trade-off'udur. Güvenlik her iki durumda da doğru uygulamaya bağlıdır.",{"fields":235,"seniorities":408,"interview_shapes":409,"locales":414,"oauth":416,"question_count":419,"coach_enabled":420,"jd_match_enabled":420},[236,261,281,297,321,334,353,372,382,389,395,402],{"key":237,"name_tr":238,"name_en":238,"sort":151,"specializations":239},"backend","Backend",[240,243,246,249,252,255,258],{"key":241,"name":242,"field":237},"general","Genel",{"key":244,"name":245,"field":237},"go","Go",{"key":247,"name":248,"field":237},"python","Python",{"key":250,"name":251,"field":237},"java","Java",{"key":253,"name":254,"field":237},"csharp","C#\u002F.NET",{"key":256,"name":257,"field":237},"nodejs","Node.js",{"key":259,"name":260,"field":237},"php","PHP",{"key":262,"name_tr":263,"name_en":263,"sort":169,"specializations":264},"frontend","Frontend",[265,266,269,272,275,278],{"key":241,"name":242,"field":262},{"key":267,"name":268,"field":262},"javascript","JavaScript",{"key":270,"name":271,"field":262},"typescript","TypeScript",{"key":273,"name":274,"field":262},"react","React",{"key":276,"name":277,"field":262},"vue","Vue",{"key":279,"name":280,"field":262},"angular","Angular",{"key":282,"name_tr":283,"name_en":283,"sort":222,"specializations":284},"fullstack","Fullstack",[285,286,287,288,289,290,291,292,293,294,295,296],{"key":241,"name":242,"field":282},{"key":244,"name":245,"field":237},{"key":247,"name":248,"field":237},{"key":250,"name":251,"field":237},{"key":253,"name":254,"field":237},{"key":256,"name":257,"field":237},{"key":259,"name":260,"field":237},{"key":267,"name":268,"field":262},{"key":270,"name":271,"field":262},{"key":273,"name":274,"field":262},{"key":276,"name":277,"field":262},{"key":279,"name":280,"field":262},{"key":298,"name_tr":299,"name_en":299,"sort":300,"specializations":301},"devops-cloud","DevOps \u002F Cloud",4,[302,303,306,309,312,315,318],{"key":241,"name":242,"field":298},{"key":304,"name":305,"field":298},"aws","AWS",{"key":307,"name":308,"field":298},"gcp","GCP",{"key":310,"name":311,"field":298},"azure","Azure",{"key":313,"name":314,"field":298},"kubernetes","Kubernetes",{"key":316,"name":317,"field":298},"terraform","Terraform",{"key":319,"name":320,"field":298},"linux","Linux",{"key":322,"name_tr":323,"name_en":323,"sort":324,"specializations":325},"ai-engineer","AI Engineer",5,[326,327,328,331],{"key":241,"name":242,"field":322},{"key":247,"name":248,"field":322},{"key":329,"name":330,"field":322},"llm-rag","LLM\u002FRAG",{"key":332,"name":333,"field":322},"mlops","MLOps",{"key":335,"name_tr":336,"name_en":337,"sort":338,"specializations":339},"database","Veritabanı","Database",6,[340,341,344,347,350],{"key":241,"name":242,"field":335},{"key":342,"name":343,"field":335},"postgresql","PostgreSQL",{"key":345,"name":346,"field":335},"mysql","MySQL",{"key":348,"name":349,"field":335},"mongodb","MongoDB",{"key":351,"name":352,"field":335},"redis","Redis",{"key":354,"name_tr":355,"name_en":356,"sort":357,"specializations":358},"mobile","Mobil","Mobile",7,[359,360,363,366,369],{"key":241,"name":242,"field":354},{"key":361,"name":362,"field":354},"ios-swift","iOS (Swift)",{"key":364,"name":365,"field":354},"android-kotlin","Android (Kotlin)",{"key":367,"name":368,"field":354},"flutter","Flutter",{"key":370,"name":371,"field":354},"react-native","React Native",{"key":5,"name_tr":6,"name_en":373,"sort":374,"specializations":375},"Security",8,[376,377,378,379,380,381],{"key":241,"name":242,"field":5},{"key":133,"name":134,"field":5},{"key":146,"name":147,"field":5},{"key":140,"name":141,"field":5},{"key":143,"name":144,"field":5},{"key":137,"name":138,"field":5},{"key":383,"name_tr":384,"name_en":385,"sort":386,"specializations":387},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[388],{"key":241,"name":242,"field":383},{"key":390,"name_tr":391,"name_en":391,"sort":392,"specializations":393},"data-engineer","Data Engineer",10,[394],{"key":241,"name":242,"field":390},{"key":396,"name_tr":397,"name_en":398,"sort":399,"specializations":400},"game-dev","Oyun Geliştirme","Game Development",11,[401],{"key":241,"name":242,"field":396},{"key":403,"name_tr":404,"name_en":404,"sort":405,"specializations":406},"ml-engineer","ML Engineer",12,[407],{"key":241,"name":242,"field":403},[7,13,14],{"junior":410,"mid":412,"senior":413},{"questions":411,"median_sec":3},20,{"questions":411,"median_sec":3},{"questions":411,"median_sec":3},[9,415],"en",[417,418],"google","github",21750,true]