JavaRush /Blog Java /Random-MS /Coffee break #151. Pelaksanaan Baris Gilir di Jawa. 10 So...

Coffee break #151. Pelaksanaan Baris Gilir di Jawa. 10 Soalan Wajib Ada untuk Sebarang Temuduga Kerja untuk Jawatan Pembangun Java Backend

Diterbitkan dalam kumpulan

10 Soalan Wajib Ada untuk Sebarang Temuduga Kerja untuk Jawatan Pembangun Java Backend

Sumber: Sederhana Penulis artikel itu berkongsi pengalaman peribadi beliau yang telah lulus beberapa temu duga untuk jawatan Java Backend Developer. Coffee break #151.  Pelaksanaan Baris Gilir di Jawa.  10 soalan mesti ada untuk sebarang temu duga untuk jawatan Pembangun Backend Java - 1Temu bual selalunya sukar. Oleh itu, adalah idea yang baik untuk mengetahui soalan sebelum mengambil temu duga. Memandangkan saya telah melalui beberapa temu bual sejak beberapa bulan yang lalu, saya kini boleh berkongsi dengan anda beberapa soalan yang paling kerap saya temui. Saya memohon jawatan sebagai pembangun Java backend dengan pengalaman 1-3 tahun.

1. Java dan ciri-cirinya

Penemuduga biasanya akan bertanya tentang versi terkini Java yang anda gunakan dan ciri-cirinya. Saya kebanyakannya menggunakan Java 8 dan telah ditanya soalan tentang aliran API, ungkapan lambda, antara muka berfungsi dan sebagainya. Penemuduga biasanya bertanya tentang ciri dan aplikasi ini berdasarkan ciri tersebut.

2. Kerja dalaman HashMap

Kebanyakan temuduga yang saya hadiri mempunyai soalan ini. Selepas menerangkan cara ia berfungsi, ada yang bertanya tentang saiz HashMap lalai, yang lain bertanya lebih lanjut tentang koleksi Java.

3. Ralat dan pengecualian

Perbezaan antara Ralat dan Pengecualian adalah soalan yang sangat biasa ditanya dalam temu bual. Juga ditanya apakah pengecualian yang ditanda dan tidak ditanda.

4. Multithreading

Multithreading adalah konsep yang sangat penting untuk temu bual, biasanya soalan ditanya tentang Thread, kelas Runnable, perbezaan antara mereka dan kes penggunaan kedua-duanya. Saya juga menasihati anda untuk mengkaji rangka kerja Pelaksana.

5. Rentetan dan kebolehubahan

Kebanyakan penemuduga bertanya tentang kebolehubahan dalam kelas rentetan, dan kemudian kadangkala bertanya tentang pembina rentetan dan penampan rentetan (jika anda berkata ia rentetan ganti boleh ubah). Kadang-kadang mereka bertanya bagaimana untuk mencipta kelas tidak berubah.

6. Kutipan sampah

Pengumpulan sampah di Jawa adalah topik yang sangat penting untuk disediakan untuk temu duga. Soalan kadangkala ditanya tentang kitaran hayat kutipan sampah dan kaedah kutipan sampah yang berbeza.

7. Pembanding dan Sebanding di Jawa

Soalan yang biasa ditanya ialah bila hendak menggunakan Comparator dan Comparable dalam Java dan apakah perbezaan di antara mereka.

8. Corak Reka Bentuk Java

Apabila ia datang kepada corak reka bentuk Java, soalan biasanya bermula dengan corak berbeza yang digunakan dalam projek semasa. Kadangkala soalan ditanya tentang masa untuk menggunakan setiap satu. Juga ditanya tentang membuat kelas tidak berubah di Jawa.

9. Akhir, Akhir dan Akhir

Perbezaan antara kata kunci muktamad, akhirnya dan muktamad adalah soalan yang sangat biasa ditanya dalam temu bual. Sebagai soalan tambahan, mereka bertanya tentang pilihan untuk menggunakan setiap kata kunci.

10. Serialisasi dan Deserialisasi di Jawa

Pensirian dan penyahserikatan adalah topik yang sangat penting untuk disediakan untuk temu duga. Selalunya ditanya tentang kes penggunaan, kadang-kadang ditanya tentang hibernasi dan JPA. Semoga, jika anda menghadapi temu duga untuk jawatan Pembangun Sisi Pelayan Java tidak lama lagi, menyediakan soalan yang dinyatakan di sini akan membantu anda.

Melaksanakan Baris Gilir di Jawa

Sumber: Faun.pub Terima kasih kepada penerbitan ini, anda akan belajar cara melaksanakan Queue dalam Java. Coffee break #151.  Pelaksanaan Baris Gilir di Jawa.  10 soalan mesti ada untuk sebarang temu duga untuk jawatan Pembangun Backend Java - 2

Apakah giliran?

Baris Gilir ialah struktur data linear dalam bentuk urutan akses kepada elemen mengikut prinsip "masuk dahulu, keluar dahulu". Ini bermakna elemen yang dimasukkan dahulu akan dikeluarkan terlebih dahulu. Iaitu, elemen dialih keluar mengikut susunan ia dimasukkan. Barisan terdiri daripada dua bahagian: Depan (depan, di mana elemen dikeluarkan) dan Belakang (belakang, di mana elemen dimasukkan). Operasi Baris Biasa: Operasi berikut biasanya digunakan dalam baris gilir:
  • Enqueue - Menambah elemen dari penghujung baris gilir.
  • Dequeue - Mengeluarkan elemen dari kepala baris gilir.
  • Front/Peek - mengembalikan nilai elemen di hadapan baris gilir, tanpa mengecualikan (mengalih keluar) elemen daripada baris gilir.
  • IsEmpty - menyemak sama ada baris gilir kosong.
  • IsFull - menyemak sama ada baris gilir penuh.
  • Paparan - Mencetak semua item dalam baris gilir.

Pelaksanaan kod:

public class Example {
public static void main(String[] args) {
    Queue myQueue = new Queue();
    myQueue.enQueue(3);
    myQueue.enQueue(2);
    myQueue.enQueue(1);
    myQueue.display();
    myQueue.deQueue();
    myQueue.peak();
}
}
class Queue {
  int queueLength = 3;
  int items[] = new int[queueLength];
  int front = -1;
  int back = -1;
  boolean isFull(){
      if(back == queueLength - 1){
          return true;
      } else {
          return false;
      }
  }
  boolean isEmpty(){
      if(front == -1 && back == -1){
          return true;
      } else {
          return false;
      }
  }
   void enQueue(int itemValue) {
      if(isFull()){
          System.out.println("Queue is full");
      } else if(front == -1 && back == -1){
          front = back = 0;
          items[back] = itemValue;
      } else{
          back++;
          items[back] = itemValue;
      }
  }
   void deQueue(){
      if(isEmpty()){
          System.out.println("Queue is empty. Nothing to dequeue");
      } else if (front == back){
          front = back = -1;
      } else {
          front++;
      }
  }
  void display(){
      int i;
      if(isEmpty()){
          System.out.println("Queue is empty");
      } else {
          for(i = front; i <= back; i++){
              System.out.println(items[i]);
          }
      }
  }
  void peak(){
      System.out.println("Front value is: " + items[front]);
  }
}

Penjelasan:

  • Mula-mula kami mencipta pembolehubah kami dan parameternya. Kami menggunakan 3 sebagai bilangan maksimum elemen yang boleh beratur dalam tatasusunan. Kami menetapkan indeks awal bahagian hadapan (Depan) dan belakang (Belakang) kepada -1.

  • Seterusnya kita akan mentakrifkan fungsi isEmpty dan isFull .

  • Kaedah isEmpty() agak mudah, untuk kaedah isFull() bilangan maksimum elemen yang dibenarkan dalam tatasusunan ialah 3, tetapi tiga elemen dalam tatasusunan tidak dilambangkan dengan indeks 3 tetapi dengan 2 kerana indeks pertama ialah 0. Jadi panjang maksimum ialah tolak 1 memberikan kita indeks 2, iaitu sel ketiga dalam tatasusunan. Apabila semua sel dibariskan dengan nilai sehingga sel ketiga, tatasusunan penuh.

  • enQueue - jika tatasusunan penuh, kami mendapat mesej bahawa ia penuh. Jika bahagian Depan dan Belakang ialah -1, maka elemen itu diberikan kepada sel pertama pada indeks 0 - jika tidak, nilai dimasukkan dan kedudukan belakang dinaikkan.

  • deQueue - jika tatasusunan kosong, kami menerima mesej yang sepadan. Jika bahagian Depan bertemu dengan bahagian Belakang, maka kami menetapkan semula indeksnya kembali kepada -1. Jika dua syarat terakhir tidak terpakai, maka Front dinaikkan.

  • paparan - jika tatasusunan tidak kosong, kami mengulang dan mencetak semua elemen.

  • puncak - Ini hanya mencetak nilai elemen utama.

Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION