You are on page 1of 2

‫چالش ارزیابی فنی‬

‫لطفاً از بین سه چالش اول یکی را به انتخاب خود اجرا نمایید‪ .‬لطفاً چالش چهارم را نیز اجرا نمایید‪.‬‬

‫‪ -1‬سیستم تعداد زیادی صورتحساب را به صورت اتوماتیک و بر اساس زمانهای از قبل مشخص شده توسط‬
‫مشتریان‪ ،‬صادر میکند‪ .‬هر مشتری میتواند چندین صورتحساب مکرر ساالنه‪ ،‬ماهانه یا هفتگی داشته باشد‪.‬‬
‫توجه کنید که زمان صدور صورتحسابها با تایمزون مشتری باید تطابق داشته باشد‪.‬‬
‫‪ .a‬مشتری ‪ : A‬سه صورتحساب مکرر در اول‪ ،‬پنجم و دهم هر ماه‬
‫‪ .b‬مشتری ‪ :B‬پنج صورتحساب مکرر شامل ‪ -1‬هر دوشنبه ‪ -2‬شش ماهه ‪ -3‬اول هر ماه ‪ -4‬چهارشنبه‬
‫یک هفته در میان ‪ -5‬بیستم هر ماه‬
‫‪ .c‬مشتری ‪ : C‬دو صورتحساب مکرر که مشتری آنها را پانزدهم و بیست و پنجم ماه جاری تهیه کرده‪،‬‬
‫ولی تقاضا میکند که برای سهولت در پرداختها‪ ،‬این دو صورتحساب هر ماه در روز آخر ماه صادر شوند‪.‬‬
‫برخی ماه ها ‪ 30‬روز و برخی هم ‪ 31‬روز هستند‪ .‬و البته اسفند ماه ‪ 29‬روز است‪.‬‬
‫‪ -2‬اعتبار ولت مشتری‪ ،‬وقتی از یک میزان مشخصی کمتر شد‪ ،‬برای مشتری نوتیف ارسال میشود‪.‬‬
‫‪ .a‬مالحظه اول‪ :‬یک کسبوکار مشخص میکند وقتی اعتبار ولت مشتری به کمتر از میزان ‪%5 - %10‬‬
‫و ‪ %1‬از مصرف ماهانه او رسید‪ ،‬برای مشتری نوتیف ارسال شود‪ .‬اما این میزان برای هر مشتری‬
‫متفاوت است‪ .‬چون مصرف ماهانه هر یک از مشتریان با دیگری متفاوت است‪.‬‬
‫‪ .b‬مالحظه دوم‪ :‬در بازههای زمانی مختلف نیز میزان مصرف یک مشتری تغییر خواهد کرد‪ .‬مثالً یک‬
‫مشتری در ‪ 3‬ماهه ابتدای سال‪ ،‬به طور متوسط ماهیانه ‪ 10‬میلیون تومان خرید داشته‪ ،‬اما در ماههای‬
‫تیر و مرداد خرید او به طور متوسط کمتر از ‪ 500‬هزار تومان بوده است‪.‬‬
‫‪ -3‬حجم بسیار باالیی ریکوئست (برای مثال ‪ 10‬هزار ‪ )TPS‬را باید دریافت کرده و پردازش کنید‪.‬‬
‫‪ .a‬هیچ ریکوئستی نباید از دست برود‬
‫‪ .b‬به ازای هر ریکوئست باید به درخواست دهنده یک پاسخ مشخص داده شود‬
‫‪ -4‬لطفاً پیشنهاد خود برای دیزاین ‪ API‬با موضوعات زیر را بفرمایید‪( .‬ریکوئست و ریسپانس)‬
‫‪ .a‬ساخت یک مشتری با اطالعاتی مانند نام‪ ،‬فامیل‪ ،‬تاریخ تولد‪ ،‬تایمزون‪ ،‬شماره تلفن همراه‪ ،‬ایمیل‬
‫‪ .b‬دریافت توکن جدید‬
‫‪ .c‬ویرایش کل اطالعات مشتری‬
‫‪ .d‬ویرایش ایمیل یا تلفن همراه مشتری‬
‫‪ .e‬حذف مشتری‬
‫‪ .f‬دریافت لیست مشتریان‬
‫چالش ارزیابی فنی‬

‫لطفاً برای اجرا‪ ،‬از تکنولوژیها و زبانهای برنامهنویسی زیر استفاده نمایید‪:‬‬

‫‪ -1‬جاوا‬
‫‪ -2‬اسپرینگ بوت‬
‫‪ -3‬دیتابیس ‪ MySQL‬و ‪ Postgre‬و ‪Influx‬‬
‫‪ REST -4‬و ‪ GraphQL‬و ‪gRPC‬‬
‫‪Redis -5‬‬
‫‪ -6‬کافکا‬
‫‪ -7‬داکر‬

‫زمان در نظر گرفته شده برای این چالش ‪ 7‬روز میباشد‪ .‬سئواالت احتمالی خود در مورد این چالش را میتوانید از طریق‬
‫ایمیل زیر مطرح نمایید‪ .‬در اسرع وقت به آن پاسخ خواهیم داد‪.‬‬

‫‪Sadegh@finnoway.ir‬‬

‫با آرزوی موفقیت‬

You might also like