سيخوض الجميع مقابلات كبيرة وصغيرة، ومن المؤكد أن التحضير لمقابلات Java سيتضمن عدة نقاط اختبار كبيرة نسبيًا. يمكن القول أن المصفوفة عبارة عن وحدة نمطية مستقلة في Java، وقد شكلت نقاط المعرفة الموجودة فيها بنية معرفية كاملة. وفي الفحص الفعلي، ستتضمن مناقشة المتغيرات والتطبيق الفعلي للخوارزميات، وما إلى ذلك. وسنناقش أدناه العناصر المشتركة أسئلة مقابلة مجموعة جافا.
1. المعرفة الأساسية
1. هل يجب تهيئة متغيرات Java؟
غير مؤكد. متغير صفيف Java هو متغير نوع بيانات مرجعي، وهو ليس كائن الصفيف نفسه، طالما أن متغير الصفيف يشير إلى كائن صفيف صالح، فيمكن استخدام متغير الصفيف. لا تؤدي تهيئة المصفوفة إلى تهيئة متغير المصفوفة، ولكنها تؤدي إلى تهيئة كائن المصفوفة - أي تخصيص مساحة ذاكرة مستمرة لكائن المصفوفة، ومساحة الذاكرة المستمرة هذه هي طول المصفوفة.
2. هل يتم وضع كافة متغيرات النوع الأساسية في ذاكرة المكدس؟
خطأ. ينبغي أن يقال على هذا النحو: يتم تخزين جميع المتغيرات المحلية في ذاكرة المكدس، سواء كانت متغيرات النوع الأساسي أو متغيرات النوع المرجعي، يتم تخزينها في مناطق مكدس الطريقة الخاصة بها، ولكن الكائنات المشار إليها بواسطة متغيرات النوع المرجعي (بما في ذلك المصفوفات، العادية كائنات Java) يتم تخزينها دائمًا في ذاكرة الكومة.
3. متى يكون المتغير المرجعي مجرد المتغير نفسه في ذاكرة المكدس، ومتى يصبح كائن Java يشير إلى مثيل؟
المتغير المرجعي هو في الأساس مجرد مؤشر طالما أن البرنامج يصل إلى خاصية من خلال متغير مرجعي، أو يستدعي طريقة من خلال متغير مرجعي، فسيتم استبدال المتغير المرجعي بالكائن الذي يشير إليه.
2. رمز المثال
تدوير المصفوفة:
على سبيل المثال: العنصر الموجود في المصفوفة هو 123456، وبعد التقليب يصبح 561234
نظرًا لمصفوفة بطول n، يلزم نقل عناصر k الأخيرة إلى الأمام وعناصر nk الأولى إلى الخلف.
// قم أولاً بتحسين الطريقة في سؤال المقابلة 1، وقم بتغيير الوجه من البداية إلى النهاية للقلب من i إلى j public int[] ChangeArray2(int[] array, int i, int j) { درجة الحرارة المؤقتة = 0؛ بينما (ط < ي) { درجة الحرارة = صفيف[i]; المصفوفة[i] = المصفوفة[j]; المصفوفة[j] = درجة الحرارة; أنا++; ي--؛ } // يمكن تحقيق تدوير المصفوفة بالطرق التالية //1. اقلب النصف الأول 2. اقلب النصف الثاني 3. اعكس المصفوفة بأكملها public int[] Swap(int[] array, int k) { int n = array.length - 1;// n=5 ChangeArray2(array, 0, n - k); ChangeArray2(array, n - k + 1, n); ChangeArray2(array, 0, n); مصفوفة العودة؛ } }
ما سبق هو عرض لأسئلة المقابلة في مصفوفات Java، عند مراجعة المصفوفات، يجب أن يكون لديك فهم واضح لأبسط بنية المعرفة، وفي الوقت نفسه، يجب أن تأخذ في الاعتبار بعض نقاط الاختبار السهلة عند المراجعة.