تعرف على أسئلة طرحتها غوغل، فيسبوك، مايكروسوف وتويتر في مقابلات توظيف مهندس برمجيات

دفعني لنشر هذه التدوينة أن الكثيرين يعتقدون أن مقابلات التوظيف مع شركات عملاقة مثل Google, Facebook, Microsoft، تكون في غاية الصعوبة، وتحتاج إلى خبرة عالية جداً برمجية ورياضية لكي تستطيع اجتيازها.

كما أنني قرأت عدة مقالات مؤخرا عن اسئلة لا منطقية مثلا هذا المقال على موقع دخلك بتعرف. شخصياً لدي تجربة مع مقابلة توظيف مع غوغل وأعرف الكثيرين خضعوا لهكذا مقابلات وتم قبولهم في هذه الشركات، ان كانت مع غوغل او غيرها من الشركات الضخمة، أؤكد أن الأسئلة المذكورة في مقال دخلك بتعرف لا تمت للواقع بصلة!.

لاشك أن المقابلات ليست سهلة أحيانا ولكن ليس من الصعب على مهندس برمجيات يقوم بكتابة مالايقل عن ساعتين من الأكواد البرمجية يوميا من ان يكون جاهزا لهذه النوع من الأسئلة خلال عدة أشهر من التدريب.

الهدف من هذا المقال هو كسر حاجز الخوف عند الأشخاص المهتمين وتوجيههم بالاتجاه الصحيح حول التحضير والجاهزية لهكذا مقابلات.

فيما يلي بعض الأسئلة التي طرحت خلال الشهرين الماضيين في مقابلات توظيف من قبل بعض الشركات العملاقة من أجل منصب Software Engineer مهندس برمجيات.

Google

  • لديك سلسلة من الأرقام تحوي ثلاث أعداد فريدة فقط (1,2,3) قم بترتيب هذه السلسلة بتعقيد زمني قدره O(n) أي بمرور واحد على السلسلة.

حاول أن تستخدم تعقيد ذاكرة  ثابت لفرز السلسلة.

[Input: [3,3,2,1,3,2,1
[Output:[1,1,2,2,3,3,3
  • لديك سلسلة مترابطة Linked-list  قم بعكس محتوياتها بطريقتين تكرارية وعودية:
Input: 4 -> 3 -> 2 -> 1 -> 0 -> NULL
Output: 0->1->2->3->4->NULL

AirBNB

لديك مصفوفة مرتبة من الأعداد، مع أحتمال وجود أعداد مكررة, قم بطباعة فهرس أول وأخر تكرار من العدد المعطى X، اذا كان X غير موجودة في المصفوفة قم بطباعة -1 :

Input: A=[1,3,3,5,7,8,9,9,9,15], X=9
[Output: [6,8

Facebook

لديك سلسلة من الأعداد، والعدد الوجهة هو K , قم بكتابة تابع يقوم باختبار إذا كان هناك عددان في السلسلة يمكن أن يكون مجموعهما هو العدد K. 

حاول ان تقوم بمرور واحد على السلسلة.

Input: [4,7,1,-3,2], k=5
Output: true

Twitter

السلسلة المتوازنة او الباليندروم هي سلسلة من المحارف تقرأ بنفس الطريقة من اليمين إلى اليسار ومن اليسار إلى اليمين, من أجل سلسلة معطاة S قم بإيجاد أطول سلسلة فرعية متوازنة ضمن هذه السلسلة.

أمثلة

Input: banana
Output: anana
Input: million
Output: illi

Microsoft

  • من أجل سلسلة نصية ما، قم بإيجاد طول أطول سلسلة لا تحوي حرفين مكررين.

مثال:

Input: abrkaabcdefghijjxxx
Output: 10
  • لديك لائحتين مترابطتين Linked-Lists يمثلان عددين  صحيحين موجبين، الأرقام في هذه اللائحة معكوسين، بحيث كل خانة تحوي رقم واحد، قم بحساب ناتج جمع هذين العددين وطباعته بالترتيب المعكوس.

مثال

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

Uber

من أجل سلسلة تحوي المحارف التالية فقط (,),{,},[،] (بدون الفاصلة), كل قوس مفتوح يجب ان يقابله قوس مغلق من نفس النوع، ويجب ان يكون إغلاق الأقواس بنفس ترتيب فتحها, في حال كانت السلسلة فارغة تعتبر سلسلة صحيحة.

 أمثلة:

Input: ((()))
Output: True

Input: "[()]{}"
Output: True

Input: "({[)]"
Output: False

هل استطعت حل هذه الأسئلة؟ شارك حلك على موقع https://www.pastiebin.com واكتب الرابط بالتعليقات.