Giter Club home page Giter Club logo

taaghchehtask's Introduction

تسک تکنیکال مصاحبه شرکت طاقچه

نکته: قبل از اجرای پروژه نیاز است با دستور زیر سرویس داکر redis اجرا شود:

docker run -d -p 6379:6379 — name redis redis

برای نمایش چگونگی افزودن لایه‌های جدید یا تغییر آنها به پول ریکوئست موجود رجوع کنید: اینجا

توضیحات تسک

پروژه ی بک اند سلام دوست عزیز قبل از توضیح پروژه این نکات را در نظر بگیر. در اجرای این پروژه می توان از هر تکنولوژی و زبانی استفاده کرد، ولی پیشنهاد ما استفاده از زبان سی شارپ و فریم ورک دات نت کور است. )استفاده از این زبان و فریم هیچ گونه امتیاز مثبتی ندارد( مدت زمان انجام پروژه ۳ روز می باشد. کتاب ها را برداری. id کتاب می توان، از روی سایت طاقچه id در صورت نیاز به نمونه توضیح مساله: های مهم این endpoint یکسرویسی طراحی شود که اطلاعات مربوط به کتاب ها را برگرداند. یکی از سرویس، دریافت متادیتای کتاب است: /book/{id} زیر استفاده می کند: api این اندپوینت برای دریافت اطلاعات کتاب، از https://get.taaghche.com/v2/book/{id} نکته ی مهم در مورد این سرویس این است که می خواهیم دو لایه کش داشته باشیم؛ لایه ی اول روی بنابراین وقتی یکدرخواست به این اندپوینت می رسد، اول .redis و لایه ی دوم روی memory را بررسی می کند. اگر داده ای در آنجا وجود داشت آن را برمی گرداند. اگر وجود نداشت سراغ memory و memory بالا استفاده می کند و داده را در هر دو لایه ی api می رود. باز هم اگر وجود نداشت، از redis کش می کند که دفعات بعدی بتواند از آن استفاده کند. redis این سرویس شرایط زیر را داشته باشد: 1. معماری خوبی داشته باشد و لایه ها به خوبی از هم مجزا باشند. را داشته باشد. unit test 2. کد تمیز نوشته شود و قابلیت نوشتن 3. امکان تغییر لایه های کش در آینده وجود داشته باشد؛ یعنی مثلاً بعداً بتوان به جای استفاده از فایل استفاده کرد. redis از استفاده کرد. mock سخت است، می توان برای تست از یککلاس redis 4. اگر راه اندازی موارد امتیازی: unit test 1. پیاده سازی اگر در مورد صورت پروژه سوالی داشتی، می توانی از طریق همین ایمیل با ما در ارتباط باشی.

taaghchehtask's People

Contributors

vahidshir avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.