[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ai-engineer\u002Faipy-python-ml-packaging-environments":4,"config":193},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":97,"samples":108},"ai-engineer","AI Engineer","","aipy-python-ml-packaging-environments","Aipy Python Ml Packaging Environments","en",75,2025,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94],{"key":19,"name":20,"count":11},"agents-tool-use","Agents Tool Use",{"key":22,"name":23,"count":11},"aimlops-deployment-strategies-ml","Aimlops Deployment Strategies Ml",{"key":25,"name":26,"count":11},"aimlops-experiment-tracking-reproducibility","Aimlops Experiment Tracking Reproducibility",{"key":28,"name":29,"count":11},"aimlops-feature-store-data-versioning","Aimlops Feature Store Data Versioning",{"key":31,"name":32,"count":11},"aimlops-ml-cicd-pipelines","Aimlops Ml Cicd Pipelines",{"key":34,"name":35,"count":11},"aimlops-model-monitoring-drift-detection","Aimlops Model Monitoring Drift Detection",{"key":37,"name":38,"count":11},"aimlops-model-versioning-registry","Aimlops Model Versioning Registry",{"key":40,"name":41,"count":11},"aipy-async-concurrency-ml-serving","Aipy Async Concurrency Ml Serving",{"key":43,"name":44,"count":11},"aipy-data-pipeline-dataloader","Aipy Data Pipeline Dataloader",{"key":46,"name":47,"count":11},"aipy-gpu-memory-management","Aipy Gpu Memory Management",{"key":49,"name":50,"count":11},"aipy-numpy-vectorization-broadcasting","Aipy Numpy Vectorization Broadcasting",{"key":8,"name":9,"count":11},{"key":53,"name":54,"count":11},"aipy-tensor-ops-autograd","Aipy Tensor Ops Autograd",{"key":56,"name":57,"count":11},"embeddings-vector-search","Embeddings Vector Search",{"key":59,"name":60,"count":11},"evaluation-testing","Evaluation Testing",{"key":62,"name":63,"count":11},"fine-tuning-adaptation","Fine Tuning Adaptation",{"key":65,"name":66,"count":11},"inference-serving","Inference Serving",{"key":68,"name":69,"count":11},"llm-fundamentals","Llm Fundamentals",{"key":71,"name":72,"count":11},"prompt-engineering","Prompt Engineering",{"key":74,"name":75,"count":11},"rag-chunking-indexing","Rag Chunking Indexing",{"key":77,"name":78,"count":11},"rag-embeddings-similarity","Rag Embeddings Similarity",{"key":80,"name":81,"count":11},"rag-evaluation","Rag Evaluation",{"key":83,"name":84,"count":11},"rag-generation-context","Rag Generation Context",{"key":86,"name":87,"count":11},"rag-reranking-fusion","Rag Reranking Fusion",{"key":89,"name":90,"count":11},"rag-retrieval","Rag Retrieval",{"key":92,"name":93,"count":11},"rag-retrieval-search","Rag Retrieval Search",{"key":95,"name":96,"count":11},"safety-guardrails","Safety Guardrails",[98,102,105],{"key":99,"name":100,"count":101},"llm-rag","LLM\u002FRAG",450,{"key":103,"name":104,"count":101},"mlops","MLOps",{"key":106,"name":107,"count":101},"python","Python",[109,127,140,153,167,180],{"id":110,"topic":9,"difficulty":111,"body":112,"options":113,"correct_key":118,"explanation":126},"019f9407-fd5f-762a-8c89-deb340ff9252",1,"In an ML project, why is it common practice to create a dedicated virtual environment (venv or conda env) instead of installing packages like torch or numpy into the system-wide Python?",[114,117,120,123],{"key":115,"text":116},"a","Because system-wide Python cannot run any machine learning code at all, regardless of installed packages.",{"key":118,"text":119},"b","So each project's package versions stay isolated, avoiding conflicts between projects.",{"key":121,"text":122},"c","Because pip refuses to install GPU-related packages outside of a virtual environment.",{"key":124,"text":125},"d","So the operating system automatically updates all ML libraries to their latest version every night.","A dedicated environment isolates each project's dependency set, so one project's numpy or torch version doesn't collide with another's requirements on the same machine. (a) is false — system Python can run ML code, isolation is about conflict avoidance, not capability. (c) invents a pip restriction that doesn't exist. (d) describes automatic upgrades, which is unrelated to what environments do.",{"id":128,"topic":9,"difficulty":111,"body":129,"options":130,"correct_key":115,"explanation":139},"019f9407-fd63-770e-9998-bf506d05c2d8","What is the main practical difference between `pip` and `conda` when managing dependencies for an ML project?",[131,133,135,137],{"key":115,"text":132},"conda can manage non-Python dependencies (like CUDA toolkit libraries) in addition to Python packages.",{"key":118,"text":134},"pip can only be used inside a Docker container, while conda can only be used on a bare-metal machine.",{"key":121,"text":136},"conda always installs strictly newer package versions than pip, regardless of what is requested.",{"key":124,"text":138},"pip and conda are two names for the exact same tool, so the distinction has no practical effect.","conda manages full binary packages, including non-Python system-level libraries such as CUDA\u002FcuDNN builds, whereas pip's scope is limited to Python packages. (b) fabricates a container-only restriction that doesn't exist. (c) invents a version-ordering rule pip\u002Fconda don't follow. (d) is false — they are different tools with different dependency resolvers and package formats.",{"id":141,"topic":9,"difficulty":111,"body":142,"options":143,"correct_key":121,"explanation":152},"019f9407-fd68-7c34-97f3-ea3747b1ea88","What does the command `pip freeze` typically output, and why is it useful for ML projects?",[144,146,148,150],{"key":115,"text":145},"A list of every package ever released on PyPI, useful for browsing available ML libraries.",{"key":118,"text":147},"The GPU driver version installed on the machine, useful for checking CUDA compatibility.",{"key":121,"text":149},"The exact installed package versions in the current environment.",{"key":124,"text":151},"A performance benchmark of the current environment's numpy and torch installations.","`pip freeze` lists the exact versions of packages currently installed, which is commonly redirected into a requirements file so the same environment can be reproduced elsewhere. (a) confuses it with browsing the entire PyPI catalog. (b) and (d) attribute driver-inspection or benchmarking behavior that `pip freeze` does not perform.",{"id":154,"topic":9,"difficulty":155,"body":156,"options":157,"correct_key":124,"explanation":166},"019f9407-fd69-7df6-aad0-8cfc93d4585a",2,"A team's `requirements.txt` lists `numpy>=1.20`. Six months later, a fresh install pulls a much newer numpy that changes some default behavior, breaking a training script that worked before. What does this illustrate?",[158,160,162,164],{"key":115,"text":159},"requirements.txt files can only ever contain one dependency, so this project was already misconfigured.",{"key":118,"text":161},"numpy versions are always fully backward compatible, so the breakage must be caused by something unrelated to the version bump.",{"key":121,"text":163},"pip ignores version constraints like `>=` after the first install, so this behavior is actually a pip bug.",{"key":124,"text":165},"A loose constraint like `>=` allows a newer, behavior-changing version to be installed later, hurting reproducibility.","`>=` only sets a floor, so any newer release satisfies it — including one with breaking changes — which is exactly why loose constraints undermine reproducibility over time. (a) is false; requirements files can list many dependencies. (b) wrongly assumes perfect backward compatibility across all versions. (c) fabricates a pip bug rather than recognizing normal `>=` resolution behavior.",{"id":168,"topic":9,"difficulty":155,"body":169,"options":170,"correct_key":118,"explanation":179},"019f9407-fd6c-7635-861f-63dcbeaf58da","Why does installing a GPU-accelerated deep learning framework typically require checking the machine's CUDA\u002Fdriver version first, rather than just running `pip install torch`?",[171,173,175,177],{"key":115,"text":172},"Because pip cannot install any package larger than 500 MB without manual driver configuration.",{"key":118,"text":174},"Prebuilt GPU wheels are compiled against a specific CUDA version range, and an incompatible setup can silently break GPU support.",{"key":121,"text":176},"Because CUDA versions are only relevant for training, never for running inference on a GPU.",{"key":124,"text":178},"Because `pip install torch` always installs every CUDA version simultaneously, so compatibility never matters.","Prebuilt GPU wheels target a specific CUDA build, and mismatches with the installed driver\u002FCUDA runtime commonly lead to the framework silently falling back to CPU or raising errors, so checking compatibility first matters. (a) invents a package-size restriction unrelated to CUDA. (c) wrongly claims CUDA compatibility only matters for training. (d) misrepresents pip as bundling all CUDA versions at once.",{"id":181,"topic":9,"difficulty":155,"body":182,"options":183,"correct_key":115,"explanation":192},"019f9407-fd74-7374-871f-c7dae2652f7a","In addition to `numpy.random.seed(...)`, why might a training script also need `random.seed(...)` (Python's built-in `random` module) and `torch.manual_seed(...)` set separately?",[184,186,188,190],{"key":115,"text":185},"Each library maintains its own independent random number generator state.",{"key":118,"text":187},"Setting numpy's seed automatically propagates the same seed to every other installed library.",{"key":121,"text":189},"Python's built-in `random` module is deprecated and setting its seed has no effect on modern systems.",{"key":124,"text":191},"torch reads its seed exclusively from the operating system clock and ignores any seed passed to it.","`random`, `numpy`, and `torch` each keep their own separate RNG state internally, so a seed set on one has no effect on the others — reproducibility requires seeding every library that generates randomness. (b) invents automatic propagation that doesn't exist. (c) is false; `random` is a standard, actively used module. (d) misrepresents `torch.manual_seed`, which does take and use the seed passed to it.",{"fields":194,"seniorities":372,"interview_shapes":373,"locales":378,"oauth":380,"question_count":383,"coach_enabled":384,"jd_match_enabled":384},[195,218,238,255,279,286,305,324,346,353,359,366],{"key":196,"name_tr":197,"name_en":197,"sort":111,"specializations":198},"backend","Backend",[199,202,205,206,209,212,215],{"key":200,"name":201,"field":196},"general","Genel",{"key":203,"name":204,"field":196},"go","Go",{"key":106,"name":107,"field":196},{"key":207,"name":208,"field":196},"java","Java",{"key":210,"name":211,"field":196},"csharp","C#\u002F.NET",{"key":213,"name":214,"field":196},"nodejs","Node.js",{"key":216,"name":217,"field":196},"php","PHP",{"key":219,"name_tr":220,"name_en":220,"sort":155,"specializations":221},"frontend","Frontend",[222,223,226,229,232,235],{"key":200,"name":201,"field":219},{"key":224,"name":225,"field":219},"javascript","JavaScript",{"key":227,"name":228,"field":219},"typescript","TypeScript",{"key":230,"name":231,"field":219},"react","React",{"key":233,"name":234,"field":219},"vue","Vue",{"key":236,"name":237,"field":219},"angular","Angular",{"key":239,"name_tr":240,"name_en":240,"sort":241,"specializations":242},"fullstack","Fullstack",3,[243,244,245,246,247,248,249,250,251,252,253,254],{"key":200,"name":201,"field":239},{"key":203,"name":204,"field":196},{"key":106,"name":107,"field":196},{"key":207,"name":208,"field":196},{"key":210,"name":211,"field":196},{"key":213,"name":214,"field":196},{"key":216,"name":217,"field":196},{"key":224,"name":225,"field":219},{"key":227,"name":228,"field":219},{"key":230,"name":231,"field":219},{"key":233,"name":234,"field":219},{"key":236,"name":237,"field":219},{"key":256,"name_tr":257,"name_en":257,"sort":258,"specializations":259},"devops-cloud","DevOps \u002F Cloud",4,[260,261,264,267,270,273,276],{"key":200,"name":201,"field":256},{"key":262,"name":263,"field":256},"aws","AWS",{"key":265,"name":266,"field":256},"gcp","GCP",{"key":268,"name":269,"field":256},"azure","Azure",{"key":271,"name":272,"field":256},"kubernetes","Kubernetes",{"key":274,"name":275,"field":256},"terraform","Terraform",{"key":277,"name":278,"field":256},"linux","Linux",{"key":5,"name_tr":6,"name_en":6,"sort":280,"specializations":281},5,[282,283,284,285],{"key":200,"name":201,"field":5},{"key":106,"name":107,"field":5},{"key":99,"name":100,"field":5},{"key":103,"name":104,"field":5},{"key":287,"name_tr":288,"name_en":289,"sort":290,"specializations":291},"database","Veritabanı","Database",6,[292,293,296,299,302],{"key":200,"name":201,"field":287},{"key":294,"name":295,"field":287},"postgresql","PostgreSQL",{"key":297,"name":298,"field":287},"mysql","MySQL",{"key":300,"name":301,"field":287},"mongodb","MongoDB",{"key":303,"name":304,"field":287},"redis","Redis",{"key":306,"name_tr":307,"name_en":308,"sort":309,"specializations":310},"mobile","Mobil","Mobile",7,[311,312,315,318,321],{"key":200,"name":201,"field":306},{"key":313,"name":314,"field":306},"ios-swift","iOS (Swift)",{"key":316,"name":317,"field":306},"android-kotlin","Android (Kotlin)",{"key":319,"name":320,"field":306},"flutter","Flutter",{"key":322,"name":323,"field":306},"react-native","React Native",{"key":325,"name_tr":326,"name_en":327,"sort":328,"specializations":329},"security","Güvenlik","Security",8,[330,331,334,337,340,343],{"key":200,"name":201,"field":325},{"key":332,"name":333,"field":325},"appsec","AppSec",{"key":335,"name":336,"field":325},"offensive-pentest","Offensive \u002F Pentest",{"key":338,"name":339,"field":325},"cloud-security","Cloud Security",{"key":341,"name":342,"field":325},"devsecops","DevSecOps",{"key":344,"name":345,"field":325},"blue-team-incident","Blue Team \u002F Incident",{"key":347,"name_tr":348,"name_en":349,"sort":350,"specializations":351},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[352],{"key":200,"name":201,"field":347},{"key":354,"name_tr":355,"name_en":355,"sort":356,"specializations":357},"data-engineer","Data Engineer",10,[358],{"key":200,"name":201,"field":354},{"key":360,"name_tr":361,"name_en":362,"sort":363,"specializations":364},"game-dev","Oyun Geliştirme","Game Development",11,[365],{"key":200,"name":201,"field":360},{"key":367,"name_tr":368,"name_en":368,"sort":369,"specializations":370},"ml-engineer","ML Engineer",12,[371],{"key":200,"name":201,"field":367},[14,15,16],{"junior":374,"mid":376,"senior":377},{"questions":375,"median_sec":3},20,{"questions":375,"median_sec":3},{"questions":375,"median_sec":3},[379,10],"tr",[381,382],"google","github",21750,true]