نگاهی به سوالات مصاحبه ی nodejs

what’s different between async and sync in node js?

Sync is single-thread, so only one operation or program will run at a time. Async is non-blocking, which means it will send multiple requests to a server. Sync is blocking — it will only send the server one request at a time and will wait for that request to be answered by the server

.

message brokers

https://codefriend.ir/2020/08/18/%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-back-end/


تسلط کامل بر روی معماری های مختلف مایکروسرویس (async, sync)
تسلط بر یکی از message broker ها (RABBITMQ, kafka, NATS
تسلط بر روی دیتابیس mongodbتسلط به زبان جاوا اسکریپت و ES6/7
تسلط به Node.Js و فریم ورک Express و Nestjs
تسلط به Postgres
آشنایی با مفاهیم clean code
آشنایی با  Apollo Server  مزیت محسوب می شود
آشنایی با Redis
آشنایی PostGIS مزیت محسوب می شود
آشنایی کامل با طراحی Rest API
آشنایی با سیستم کنترل ورژن git
توانایی ارزیابی، انتخاب و استفاده از الگوریتم‌های بهینه
آشنایی کافی با مفاهیم معماری نرم‌افزار و الگوهای طراحی

مباحث پیشرفته در فلاتر

یکی از مهمترین مباحثی که یه برنامه نویس سنیور فلاتر باید بدونه، linter یا به اختصار lint هست که شامل استاندارد هایی از کد نویسیه که باید رعایت بشه.لینکشو پایین میذارم حتما مطالعه بشه.

https://dart.dev/tools/linter-rules

شاید یکم مسخره باشه اما بهتره دقیقتر تور دارت رو مطالعه کنید؛ توی مصاحبه ها ممکنه سوال بپرسن ازش

https://dart.dev/guides/language/language-tour

برگشتن به کامیت قبلی در git

برای برگشتن به کامیت قبلی، دستور git reflog رو بزنید. الان کامیت مورد نظر رو پیدا کنید. حالا دستور git reset –hrad commitserial رو بزنید؛ (توجه کنید: commitserialدقیقا همون سریالیه که هر کامیت داره).

سایت های مورد نیاز برای راه اندازی push notification در فلاتر

ریلیز های google services:
https://developers.google.com/android/guides/releases


ریلیز های gradle plugin و gradle:

https://developer.android.com/studio/releases/gradle-plugin#updating-gradle


سایت اصلی فایربیس برای راه اندازی در فلاتر:

https://firebase.google.com/docs/cloud-messaging/flutter/client

حل مشکل ‘keytool’ is not recognized as an internal or external command’ در ویندوز

این مشکل وقتی پیش میاد که تو environment سیستمتون JAVA-HOME به این این صورت آدرس داده شده باشه:

C:\Program Files\Java\jdk1.8.0_102

و از اونجایی که keytool تو پوشه /bin هستش، اگه روش زیر رو امتحان کنید، مشکلتون حل میشه.

قسمت System Variables ، قسمت Path ، دکمه new رو بزنید و آدرس زیر رو وارد کنید:

%JAVA_HOME%\bin

موفق باشید دوستان