(خلّي) Elsharkawy
(خلّي) Elsharkawy

@m_khly

17 تغريدة 83 قراءة Jun 12, 2022
مساء الخير الفترة اللي فاتت دخلت انترفيوز مع شركات كتير سواء كانت FAANG او mid size او startups.
في الثريد ده هحاول اشارك تجربتي و شوية معلومات بخصوص problem solving انترفيوز لو بتحاول انك تستعد و حاسس انك تايه و مش و شوية نصايح عن ازاي تتعامل في الانترڤيو. 🧵
مبدأيا رحلتي مع البروبليم سولڤينج بدأت من و انا في الجامعة بس دايما كانت مشكلة و معاناه بالنسبالي، مع الوقت و الحل و الانترفيوز حسيت ان المشكلة اني كنت بحل كتير و خلاص من غير اي strategy ازاي اتعامل مع مسائل جديدة او لما الواحد stuck و يحس انه مش لاقي خيط يبدأ يدخل منه للمسألة.
السنة دي فهمت اني محتاج يبقي عندي شوية techniques او ممكن نسميها logical mind map اقدر من خلالها استبعد حلول او ادوس في حلول تانية و اشوف هتنفع ولا لا. مهم بردوا الواحد يبقي فاهم انك مش الطبيعي تعرف حل المسألة اول ما تقراها. خليني ابدأ اشارك شوية معلومات الاول عن ما قبل الانترفيو
انا شايف ان leetcode كافي جدا بس مهم تعرف تستغله صح. لو عندك مثلا وقت قبل الانترفيو شهر ونص او شهرين ففي حاجة لطيفة عاملينها اسمها study plans في واحدة algorithms و واحدة data structure.
وفي ف كل واحدة كذا ليڤل . هي فكرتها انها كل يوم بتفتحلك مسألتين او تلاتة علي توبك معين.
فبعد ما هتخلصها هتلاقي نفسك شوفت معظم التوبيكس و ممكن تبدأ في الليڤل اللي بعده. بردوا هي حلوة عشان هي اسبوعين بس و بيديك سماح يومين زيادة عشان تخلص غير كدة هتقفل عليك و هتتضطر تبدأ من اول يوم ففيها motivation شوية. لو عندك وقت اكتر من شهرين في leetcode cards لو محتاج تغطس ف توبك
لو خلصت اللي فات حاول تلخص techniques اللي اتعلمتها ف study plan في ورقة كدة و ابدأ بقي حل مسائل random انا انصح ب ليست بتاعت top 100 questions شايفها لطيفة و متنوعة بشكل لطيف.
بردوا وانت بتحل حاول تفتح discussion بتاع المسأله و تقرا حل الناس ده ليه دور كبير اوي انه يفتح الدماغ لافكار جديدة و حلوة و بيعلم الواحد كتير فمش الهدف انك تحل المسألة وخلاص. قبل الانترفيوز بشوية حاول تبدأ تعمل mock interviews سواء مع حد تعرفه او علي pramp.com
نيجي بقي للانترڤيو. دايما ببقي حاطط الليست بتاعة التوبكس قدامي (هشيرها في اخر الثريد) هدف الليست دي لما بيحصل mind block في الانترڤيو بسبب التوتر او انك فعلا stuck ممكن تبصلها و تحاول تشوف مين من techniques ممكن ينفع و مين تقدر تستبعده. ده دايما كان بيساعدني get back on my feet.
قريت المسألة و فهمت محتاجة ايه دايما دور علي الحل naive solution او brute force. في ناس بتعتقد ان ده غلط و بيحاولو يجيبو حل optmized من الاول بس حقيقي ساعات كتير ده اللي بيبقي عايزة الانترڤيور و يقولك اكتب ده الاول (مرة كنت عارف الحل optmized و naive ) و قالي اكتب naive.
تاني حاجة لو جبت naive solution هتبدأ تهدي و تبني علي الحل ده انك تحاول تلاقي حل احسن و في اسوء الاحوال هتكتب الحل و ده هيكون احسن بكتير انك تقعد تفكر و متكتبش حاجة. طيب جبت الحل naive و مش لاقي مدخل تاني هنا بقي مهم اوي تبين بتفكر ازاي لما بتعطل لانها من اللحظات الصعبة
اللي دماغ الواحد بتفصل و افكار كتير في نفس الوقت ف محتاج تتكلم و انت بتفكر و عادي جدا تدخل ف حل و بعدين تقول لا ده ميننفعش مثال :
"I am considering solving it with binary search. But wait the input is not sorted and to sort it first we will need nlogn time but we need better"
هنا انت بينت بتفكر ازاي و ازاي بترجع عن الفكرة عشان لقيتها مسدودة ف تبدأ تشوف حاجة تانية ده مهم جدا عشان الانترڤيور محتاج يشوف بتفكر ازاي مش الهدف انك تحل المسألة وخلاص. و خليك دايما فاكر ان الانترڤيو بيقيس problem solving, communication, coding, and testing
وصلت لحل الحمد لله و اتفقتوا عليه. متبدأش كتابة علي طول خد دقيقة فكر انت هتكتب ايه عشان لو رحت تكتب و انت مش مجمع مع اول حاجة مش عامل حسابك عليها هتتلخبط و الكود هيطلع سئ. خد دقيقة و اكتب steps اللي محتاج تعملها الاول pseudo code عشان لما تتوه ترجعلها.
ابدأ اكتب بقي و انت بتكتب بتتكلم و بتقول انت بتعمل ايه و ليه هتعمل كذا و مش هتعمل كذا مثلا هستخدم BFS مش DFS عشان الميموري. خلصت كتابة تمام ارجع اقرا الكود بتاعك تاني و دور علي اي bug او syntax error و صلحها من نفسك دي عليه weight انك بتعرف تتطلع المشاكل من الكود بتاعك.
لقيت الكود تمام و جميل متستناش ان حد يقولك عايزين ن test الكود ابدأ انت و قول محتاجين نكتب test سواء هتعمل unit test لو env تسمح او انك تعمل trace علي مثال صغير لو بتكتب علي حاجة زي docs وخليك دايما فاكر ان test عليه weight.
لو وصلت لهنا ف ان شاء الله تكون عملت حلو و تعدي ✨
و اخيرا ده document متلخص فيه معظم اللي اتقال في الثريد ده و كنت بقراه قبل كل انترڤيو. بالتوفيق لكل الناس يارب و بمناسبة المعلومات دي محتاج ادي الكريديت لصديقتي هاجر (بس هي مش علي تويتر) علي جزء كبير من الكلام ده وال document ده لانه كان مفيد بالنسبالي جدا.

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