Mohamed Shaaban 👨🏻‍💻
Mohamed Shaaban 👨🏻‍💻

@tcpshaaban

13 تغريدة 6 قراءة Mar 22, 2022
بعد ما قلت إن أمازون بتبني فريق في القاهرة كذا حد بعتلي سألني ازاي يجهز لانترفيو أمازون فحابب أكتب خبرتي الشخصية واكتب البروسيس كانت ماشية ازاي والطريقة اللي اتبعتها علشان اجهز نفسي كنوع من التوثيق للمستقبل
🧵
البروسيس بتبقى عبارة عن كذا مرحلة
Online Coding Assessment > Phone Screening > Onsite (or virtual)
كل مرحلة بتبقى مزيج ما بين Technical و Leadership Principles (LPs) باستثناء اول مرحلة بتبقى مسألتين او تلاتة تحلهم اونلاين
الجزء ال technical بيغطي حاجات زي
- Data structures & algorithms
- Logical & maintainable code
- System design
بالنسبة ل ds & algo فانا كنت بمرن نفسي وبحل مسائل على leetcode. هتلاقي مسائل بكل المستويات. محتاج تتدرب على حاجات زي BFS, DFS, binary search, tree, graph, …etc
ما قابلنيش حاجة وما اعتقدش هتتسأل في حاجة Dynamic Programming، لكن ممكن memoization
ممكن كل يوم تاخدلك مسألة وتحاول تحلها. ممكن تمسك كاتيجوري بعينها وتخلصها. مفيش أفضلية فشوف اللي انسبلك. أهم حاجة الاستمرارية
بالنسبة ل logical & maintainable فدي حاجة بتتعلمها بقراية كتب ومقالات وبخبرتك الشخصية. مبادئ زي SOLID, و design patterns وهكذا
بالنسبة ل system design فبيبقى مطلوب منك تعمل تصميم لسيستم ما. عادة بيبدأ بسؤال ambiguous وانت بتسأل اسألة علشان تفهم أكتر ايه اللي المفروض السيستم يعمله. ممكن تفترض افتراضات معينة علشان تحل المشكلة بس توضح انك افترضت كذا علشان كذا وكذا. ممكن تتسأل هتختار تكنولوجي ايه وليه
وايه البدايل وايه مميزات وعيوب وهكذا. غالباً بعد ما هتوضح كل حاجة هيتطلب منك تاخد جزئية معينة من السيستم ده وتعمله implementation
الانترفيو ده من الحاجات الجميلة ومفيهوش صح وغلط او اجابة واحدة. بيبقى فيه design choices وانت بتختار وبتقول ليه هتصمم بالطريقة الفلانية
مثال:
design chat app
بس كده
فهنا بتقعد تسأل اسئلة توضح هو بيعمل ايه
- Types of messages (e.g text, images, voice, etc)
- Requires login? how
- DM, group, or both
- Encryption
- Disappearing messages
- Recipient indicators
- Security requirements
- Performance
- …
بعد ما بتوضح الكلام ده بتشوف هتصممه ازاي. هتستخدم SQL or NoSQL؟ هتعمل سيرفس تاخد الداتا وتحفظها وتجيبها؟ شكل ال APIs بتاعتها ايه؟ فيه caching؟ فيه load balancers؟ فيه queues؟ تكلفة الكلام ده ايه؟ هتأمنه ازاي؟ وهكذا
بالنسبة لتاني حاجة وهي Leadership Principles ودي مجموعة مبادئ بتنظم الشغل والثقافة العامة جوه أمازون. على أيامي كانوا 14 لكن مؤخرا اتضاف اتنين كمان وبقوا 16. الجزء ال technical بيغطي ال technical competencies وال LP بيقيس اد ايه هتبقى ناجح في أمازون
لما حبيت أحضر نفسي هنا الأول قريتهم كلهم وفهمت كل واحدة فيهم وأمازون بتدور على ايه. بعد كده جبت ورقة وكتبت فيها كل ال LPs ومسكت واحدة واحدة ودورت في امثلة من خبرتي الشخصية في الشركات اللي بتنطبق على ال LP دي وكتبت المثال كملحوظة. عملت ده لكل ال LP
ليه؟ جزء من التحضير اني استرجع الأمثلة دي الأول من الذاكرة من خبرتي واعملها mapping بينها وبين ال LP. بعصر دماغي وبدور على الأمثلة عشان تبقى حاضرة في ذهني بدل ما أضيع وقت الانترفيو ف اني احاول أفتكر واضيع على نفسي الفرصة. ممكن تستخدم نفس المثال لأكثر من LP من وجهتين نظر مختلفتين
حاولت اقرأ وافهم كتير عن Amazon Leadership Principles بس مقال Dave Anderson كان أفضلهم من وجهة نظري وساعدني كتير في فهمهم وموضح أمثلة عن الردود الكويسة. هو
scarletink.com

جاري تحميل الاقتراحات...