top 20 java interview programs
Σε αυτό το σεμινάριο, έχουμε παράσχει μια μεγάλη λίστα βασικών προγραμμάτων συνέντευξης Java με πραγματικά παραδείγματα λογικού κώδικα που ζητούνται στις Συνεντεύξεις προγραμματισμού και κωδικοποίησης για νεότερους και έμπειρους υποψηφίους.
Σημαντικά και βασικά προγράμματα Java που ζητούνται γενικά στον τεχνικό γύρο των συνεντεύξεων Java και αυτοματισμού.
Αυτό έχει πλέον γίνει μια γενική πρακτική από τους ερευνητές να ζητούν βασικά προγράμματα Java σε συνεντεύξεις και όχι απλώς να εστιάζουν σε θεωρητικές πτυχές.
Γι 'αυτό, έχουμε βρει μια ιδέα να απαριθμήσουμε μερικά πολύ σημαντικά προγράμματα Java μαζί με τη σωστή εξήγηση για κάθε πρόγραμμα.
Επιπλέον, έχουμε συμπεριλάβει επίσης τα αντίστοιχα αποτελέσματα που θα σας δώσουν μια δίκαιη ιδέα για το πώς λειτούργησε αυτό το πρόγραμμα. Η ροή του προγράμματος και οι έννοιες εξηγούνται σωστά όπου είναι δυνατόν σε όλο αυτό το άρθρο.
Οι πιο δημοφιλείς ερωτήσεις συνέντευξης προγραμματισμού Java
Μια λίστα με τις πιο δημοφιλείς ερωτήσεις και απαντήσεις συνέντευξης προγραμματισμού Java εξηγούνται παρακάτω και αυτές οι ερωτήσεις θα σας βοηθήσουν να καθαρίσετε οποιαδήποτε συνέντευξη αυτοματοποίησης με επιτυχία.
Συνιστώμενη ανάγνωση => Έχουμε καλύψει Βασικές ερωτήσεις συνέντευξης Java σε προηγούμενα άρθρα εδώ.
Ε # 1) Γράψτε ένα πρόγραμμα Java για να αντιστρέψετε μια συμβολοσειρά χωρίς να χρησιμοποιήσετε τη λειτουργία ενσωματωμένης συμβολοσειράς.
Απάντηση: Εδώ, αρχίζουμε μια μεταβλητή συμβολοσειράς str και κάνουμε χρήση της κλάσης δημιουργίας συμβολοσειρών.
Το αντικείμενο της κλάσης δημιουργίας συμβολοσειρών str2 θα χρησιμοποιηθεί περαιτέρω για να προσθέσει την τιμή που είναι αποθηκευμένη στη μεταβλητή συμβολοσειράς str.
Στη συνέχεια, χρησιμοποιούμε την ενσωματωμένη συνάρτηση του string builder (reverse ()) και αποθηκεύουμε τη νέα αντίστροφη συμβολοσειρά στο str2. Τέλος, εκτυπώνουμε str2.
Ο κώδικας που ακολουθεί εξηγεί αυτό:
public class FinalReverseWithoutUsingStringMethods { public static void main(String[] args) { // TODO Auto-generated method stub String str = 'Automation'; StringBuilder str2 = new StringBuilder(); str2.append(str); str2 = str2.reverse(); // used string builder to reverse System.out.println(str2); } }
Παραγωγή:
νοιταμότοΑ
Q # 2) Γράψτε ένα πρόγραμμα Java για να αντιστρέψετε μια συμβολοσειρά χωρίς να χρησιμοποιήσετε τη λειτουργία String inbuilt function ().
Απάντηση: Υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να αντιστρέψετε τη συμβολοσειρά σας εάν σας επιτρέπεται να χρησιμοποιήσετε τις άλλες ενσωματωμένες λειτουργίες συμβολοσειράς.
Μέθοδος 1:
Σε αυτήν τη μέθοδο, αρχίζουμε μια μεταβλητή συμβολοσειράς που ονομάζεται str με την τιμή της δεδομένης συμβολοσειράς σας. Στη συνέχεια, μετατρέπουμε αυτήν τη συμβολοσειρά σε πίνακα χαρακτήρων με τη συνάρτηση toCharArray (). Στη συνέχεια, χρησιμοποιούμε το loop για να επαναλαμβάνουμε μεταξύ κάθε χαρακτήρα σε αντίστροφη σειρά και εκτυπώνοντας κάθε χαρακτήρα.
public class FinalReverseWithoutUsingInbuiltFunction { public static void main(String[] args) { String str = 'Saket Saurav'; char chars[] = str.toCharArray(); // converted to character array and printed in reverse order for(int i= chars.length-1; i>=0; i--) { System.out.print(chars[i]); } } }
Παραγωγή:
ανταλλακτικό
Μέθοδος 2:
Αυτή είναι μια άλλη μέθοδος με την οποία δηλώνετε τη μεταβλητή συμβολοσειράς str και στη συνέχεια χρησιμοποιώντας την κλάση Scanner για να δηλώσετε ένα αντικείμενο με ένα προκαθορισμένο τυπικό αντικείμενο εισαγωγής.
Αυτό το πρόγραμμα θα αποδεχτεί την τιμή συμβολοσειράς μέσω της γραμμής εντολών (όταν εκτελείται).
Έχουμε χρησιμοποιήσει το nextLine () το οποίο θα διαβάσει την είσοδο με τα κενά μεταξύ των λέξεων μιας συμβολοσειράς. Στη συνέχεια, χρησιμοποιήσαμε μια μέθοδο split () για να χωρίσουμε τη συμβολοσειρά στα υποστρώματα της (δεν δίνεται οριοθέτης εδώ). Τέλος, εκτυπώσαμε τη συμβολοσειρά σε αντίστροφη σειρά χρησιμοποιώντας το loop.
import java.util.Scanner; public class ReverseSplit { public static void main(String[] args) { // TODO Auto-generated method stub String str; Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); String[] token = str.split(''); //used split method to print in reverse order for(int i=token.length-1; i>=0; i--) { System.out.print(token[i] + ''); } } }
Παραγωγή:
Εισαγάγετε τη συμβολοσειρά σας
Βοήθεια Softwaretesting
plehgnitseterawtfoS
Μέθοδος 3:
Αυτό είναι σχεδόν σαν τη μέθοδο 2, αλλά εδώ δεν χρησιμοποιήσαμε τη μέθοδο split (). Χρησιμοποιήσαμε την κλάση σαρωτή και το nextLine () για την ανάγνωση της συμβολοσειράς εισόδου. Στη συνέχεια, δηλώσαμε ακέραιο μήκος που έχει το μήκος της συμβολοσειράς εισόδου.
Στη συνέχεια, εκτυπώσαμε τη συμβολοσειρά με την αντίστροφη σειρά χρησιμοποιώντας το loop. Ωστόσο, χρησιμοποιήσαμε τη μέθοδο charAt (index) που θα επιστρέψει τον χαρακτήρα σε οποιοδήποτε συγκεκριμένο ευρετήριο. Μετά από κάθε επανάληψη, ο χαρακτήρας θα συνενωθεί για να αντιστρέψει τη μεταβλητή συμβολοσειράς.
Τέλος, εκτυπώσαμε τη μεταβλητή αντίστροφης συμβολοσειράς.
import java.util.Scanner; public class Reverse { public static void main(String[] args) { // TODO Auto-generated method stub String original, reverse = ''; System.out.println('Enter the string to be reversed'); Scanner in = new Scanner(System.in); original = in.nextLine(); int length = original.length(); for(int i=length-1; i>=0; i--) { reverse = reverse + original.charAt(i); //used inbuilt method charAt() to reverse the string } System.out.println(reverse); } }
Παραγωγή:
Εισαγάγετε τη συμβολοσειρά που πρόκειται να αντιστραφεί
δοκιμές αυτοματισμού
gnitset noitamotua
Q # 3) Γράψτε ένα πρόγραμμα Java για εναλλαγή δύο αριθμών χρησιμοποιώντας την τρίτη μεταβλητή.
Απάντηση: Σε αυτό το παράδειγμα, χρησιμοποιήσαμε την κλάση σαρωτή για να δηλώσουμε ένα αντικείμενο με ένα προκαθορισμένο τυπικό αντικείμενο εισαγωγής. Αυτό το πρόγραμμα θα αποδεχτεί τις τιμές των x και y μέσω της γραμμής εντολών (όταν εκτελείται).
Έχουμε χρησιμοποιήσει το nextInt () που θα εισαγάγει την τιμή μιας ακέραιας μεταβλητής «x» και «y» από τον χρήστη. Δηλώνεται επίσης μια μεταβλητή temp.
Τώρα, η λογική του προγράμματος πηγαίνει έτσι: αντιστοιχίζουμε temp ή τρίτη μεταβλητή με την τιμή του x και, στη συνέχεια, εκχωρούμε το x με την τιμή του y και ξανά εκχωρούμε το y με την τιμή του temp. Έτσι, μετά την πρώτη πλήρη επανάληψη, το temp θα έχει τιμή x, το x θα έχει τιμή y και το y θα έχει τιμή temp (που είναι x).
import java.util.Scanner; public class SwapTwoNumbers { public static void main(String[] args) { // TODO Auto-generated method stub int x, y, temp; System.out.println('Enter x and y'); Scanner in = new Scanner(System.in); x = in.nextInt(); y = in.nextInt(); System.out.println('Before Swapping' + x + y); temp = x; x = y; y = temp; System.out.println('After Swapping' + x + y); } }
Παραγωγή:
Εισαγάγετε τα x και y
Τέσσερα πέντε
98
Πριν από την ανταλλαγή4598
Μετά την ανταλλαγή9845
Q # 4) Γράψτε ένα πρόγραμμα Java για εναλλαγή δύο αριθμών χωρίς τη χρήση της τρίτης μεταβλητής.
Απάντηση: Ξεκουραστείτε όλα τα πράγματα θα είναι τα ίδια με το παραπάνω πρόγραμμα. Μόνο η λογική θα αλλάξει. Εδώ, αντιστοιχίζουμε το x με την τιμή x + y που σημαίνει ότι το x θα έχει ένα άθροισμα και των x και y.
Στη συνέχεια, εκχωρούμε το y με την τιμή x - y που σημαίνει ότι αφαιρούμε την τιμή του y από το άθροισμα του (x + y). Μέχρι εδώ, το x έχει ακόμα το άθροισμα των δύο x και y. Αλλά το y έχει την τιμή του x.
Τέλος, στο τρίτο βήμα, αντιστοιχίζουμε το x με την τιμή x - y που σημαίνει ότι αφαιρούμε το y (το οποίο έχει την τιμή του x) από το σύνολο (x + y). Αυτό θα αντιστοιχίσει το x με την τιμή του y και το αντίστροφο.
τι χρειάζομαι για να τρέξω ένα αρχείο βάζου
import java.util.Scanner; class SwapTwoNumberWithoutThirdVariable { public static void main(String args[]) { int x, y; System.out.println('Enter x and y'); Scanner in = new Scanner(System.in); x = in.nextInt(); y = in.nextInt(); System.out.println('Before Swapping
x = '+x+'
y = '+y); x = x + y; y = x - y; x = x - y; System.out.println('After Swapping without third variable
x = '+x+'
y = '+y); } }
Παραγωγή:
Εισαγάγετε τα x και y
Τέσσερα πέντε
98
Πριν από την ανταλλαγή
x = 45
y = 98
Μετά την ανταλλαγή χωρίς τρίτη μεταβλητή
x = 98
y = 45
Ερ # 5) Γράψτε ένα πρόγραμμα Java για να μετρήσετε τον αριθμό των λέξεων σε μια συμβολοσειρά χρησιμοποιώντας το HashMap.
Απάντηση: Πρόκειται για ένα πρόγραμμα κλάσης συλλογής όπου χρησιμοποιήσαμε το HashMap για την αποθήκευση της συμβολοσειράς.
Πρώτα απ 'όλα, δηλώσαμε τη μεταβλητή συμβολοσειράς που ονομάζεται str. Στη συνέχεια, χρησιμοποιήσαμε τη συνάρτηση split () που οριοθετείται από ένα κενό, ώστε να μπορούμε να χωρίσουμε πολλές λέξεις σε μια συμβολοσειρά.
Στη συνέχεια, δηλώσαμε το HashMap και επαναλαμβανόμενα χρησιμοποιώντας το loop. Στο Inside for loop, έχουμε μια δήλωση if-else στην οποία οπουδήποτε σε μια συγκεκριμένη θέση, ο χάρτης περιέχει ένα κλειδί, ορίζουμε τον μετρητή σε αυτήν τη θέση και προσθέτουμε το αντικείμενο στον χάρτη.
Κάθε φορά, ο μετρητής αυξάνεται κατά 1. Διαφορετικά, ο μετρητής ορίζεται σε 1.
Τέλος, εκτυπώνουμε το HashMap.
Σημείωση: Το ίδιο πρόγραμμα μπορεί να χρησιμοποιηθεί για να μετρήσει τον αριθμό των χαρακτήρων σε μια συμβολοσειρά. Το μόνο που χρειάζεται να κάνετε είναι να αφαιρέσετε ένα κενό (αφαίρεση χώρου οριοθετημένο με τη μέθοδο split) στο String [] split = str.split ('');
import java.util.HashMap; public class FinalCountWords { public static void main(String[] args) { // TODO Auto-generated method stub String str = 'This this is is done by Saket Saket'; String[] split = str.split(' '); HashMap map = new HashMap(); for (int i=0; i Παραγωγή:
{Saket = 2, by = 1, this = 1, This = 1, is = 2, selesai = 1}
Q # 6) Γράψτε ένα πρόγραμμα Java για να επαναλάβετε το HashMap χρησιμοποιώντας το While και το advance για loop.
Απάντηση: Εδώ έχουμε εισαγάγει τρία στοιχεία στο HashMap χρησιμοποιώντας τη συνάρτηση put ().
Το μέγεθος του χάρτη μπορεί να χρησιμοποιηθεί με τη μέθοδο size (). Στη συνέχεια, χρησιμοποιήσαμε έναν βρόχο While για την επανάληψη του χάρτη που περιέχει ένα ζεύγος κλειδιού-τιμής για κάθε στοιχείο. Τα κλειδιά και οι τιμές μπορούν να ανακτηθούν μέσω του getKey () και του getValue ().
Ομοίως, έχουμε χρησιμοποιήσει προηγμένο για βρόχο όπου έχουμε ένα αντικείμενο 'me2' για το HashMap.
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapIteration { public static void main(String[] args) { // TODO Auto-generated method stub HashMap map = new HashMap (); map.put(2, 'Saket'); map.put(25, 'Saurav'); map.put(12, 'HashMap'); System.out.println(map.size()); System.out.println('While Loop:'); Iterator itr = map.entrySet().iterator(); while(itr.hasNext()) { Map.Entry me = (Map.Entry) itr.next(); System.out.println('Key is ' + me.getKey() + ' Value is ' + me.getValue()); } System.out.println('For Loop:'); for(Map.Entry me2: map.entrySet()) { System.out.println('Key is: ' + me2.getKey() + ' Value is: ' + me2.getValue()); } } }
Παραγωγή:
3
Ενώ βρόχος:
Το κλειδί είναι 2 Η τιμή είναι Saket
Το κλειδί είναι 25 Η τιμή είναι Saurav
Το κλειδί είναι 12 Η τιμή είναι HashMap
Για βρόχο:
Το κλειδί είναι: 2 Η τιμή είναι: Saket
Το κλειδί είναι: 25 Η τιμή είναι: Saurav
Το κλειδί είναι: 12 Η τιμή είναι: HashMap
Ε # 7) Γράψτε ένα πρόγραμμα Java για να βρείτε αν ένας αριθμός είναι πρωταρχικός ή όχι.
Απάντηση: Εδώ, έχουμε δηλώσει δύο ακέραιους temp και num και χρησιμοποιήσαμε την κλάση Scanner με nextInt (καθώς έχουμε ακέραιο μόνο).
Μία δυαδική μεταβλητή isPrime έχει οριστεί σε true. Στη συνέχεια, χρησιμοποιήσαμε το βρόχο ξεκινώντας από το 2, λιγότερο από το μισό του αριθμού εισάγεται και αυξάνεται κατά 1 για κάθε επανάληψη. Το Temp θα έχει το υπόλοιπο για κάθε επανάληψη. Εάν το υπόλοιπο είναι 0, τότε το isPrime θα οριστεί σε False.
Με βάση την τιμή isPrime, καταλήγουμε στο συμπέρασμα ότι είτε ο αριθμός μας είναι πρώτος είτε όχι.
import java.util.Scanner; public class Prime { public static void main(String[] args) { // TODO Auto-generated method stub int temp, num; boolean isPrime = true; Scanner in = new Scanner(System.in); num = in.nextInt(); in.close(); for (int i = 2; i<= num/2; i++) { temp = num%i; if (temp == 0) { isPrime = false; break; } } if(isPrime) System.out.println(num + 'number is prime'); else System.out.println(num + 'number is not a prime'); } }
Παραγωγή:
445
Ο αριθμός 445 δεν είναι πρώτος
Ε # 8) Γράψτε ένα πρόγραμμα Java για να βρείτε αν μια συμβολοσειρά ή αριθμός είναι palindrome ή όχι.
Απάντηση: Μπορείτε να χρησιμοποιήσετε οποιοδήποτε από τα προγράμματα αντίστροφης συμβολοσειράς που εξηγούνται παραπάνω για να ελέγξετε εάν ο αριθμός ή η συμβολοσειρά είναι palindrome ή όχι.
Αυτό που πρέπει να κάνετε είναι να συμπεριλάβετε μια δήλωση if-else. Εάν η αρχική συμβολοσειρά είναι ίση με μια αντίστροφη συμβολοσειρά, τότε ο αριθμός είναι ένα palindrome, διαφορετικά όχι.
import java.util.Scanner; public class Palindrome { public static void main (String[] args) { String original, reverse = ''; Scanner in = new Scanner(System.in); int length; System.out.println('Enter the number or String'); original = in.nextLine(); length = original.length(); for (int i =length -1; i>;=0; i--) { reverse = reverse + original.charAt(i); } System.out.println('reverse is:' +reverse); if(original.equals(reverse)) System.out.println('The number is palindrome'); else System.out.println('The number is not a palindrome'); } }
Παραγωγή:
Για χορδές-
Εισαγάγετε τον αριθμό ή τη συμβολοσειρά
βιγια
το αντίστροφο είναι: yajiv
Ο αριθμός δεν είναι παλινδρομή
Για τον αριθμό-
Εισαγάγετε τον αριθμό ή τη συμβολοσειρά
99
το αντίστροφο είναι: 99
Ο αριθμός είναι palindrome
Q # 9) Γράψτε ένα πρόγραμμα Java για τη σειρά Fibonacci.
Απάντηση: Η σειρά Fibonacci είναι μια σειρά αριθμών όπου μετά τους δύο αρχικούς αριθμούς, κάθε αριθμός που εμφανίζεται είναι το άθροισμα των δύο προηγούμενων αριθμών.
Για παράδειγμα 0,1,1,2,3,5,8,13,21 ………
Σε αυτό το πρόγραμμα, χρησιμοποιήσαμε ξανά την τάξη Scanner με το nextInt (συζητήθηκε παραπάνω). Αρχικά, μπαίνουμε (μέσω της γραμμής εντολών) πόσες φορές πρέπει να επαναλάβει το Fibonacci. Έχουμε δηλώσει ακέραιο αριθμό και αρχικοποιήσαμε a, b με μηδέν και c με ένα. Στη συνέχεια, χρησιμοποιήσαμε το loop για επαναλήψεις.
Η λογική πηγαίνει όπως το a έχει οριστεί με την τιμή του b που είναι 0, τότε το b ρυθμίζεται με την τιμή του c που είναι 1. Στη συνέχεια, το c ρυθμίζεται με το άθροισμα των δύο a και b.
import java.util.Scanner; public class Fibonacci { public static void main(String[] args) { int num, a = 0,b=0, c =1; Scanner in = new Scanner(System.in); System.out.println('Enter the number of times'); num = in.nextInt(); System.out.println('Fibonacci Series of the number is:'); for (int i=0; i Παραγωγή:
Εισαγάγετε τον αριθμό των φορών
10
Η σειρά Fibonacci του αριθμού είναι:
0
1
1
δύο
3
5
8
13
είκοσι ένα
3. 4
Q # 10) Γράψτε ένα πρόγραμμα Java για να επαναλάβετε το ArrayList χρησιμοποιώντας το for-loop, while-loop και το advance for-loop.
Απάντηση: Σε αυτό το πρόγραμμα, έχουμε εισαγάγει τρία στοιχεία και εκτυπώσαμε το μέγεθος του ArrayList.
Στη συνέχεια, χρησιμοποιήσαμε το While Loop με έναν επαναληπτικό. Κάθε φορά που ο επαναληπτής έχει (επόμενο) στοιχείο, θα εμφανίζει αυτό το στοιχείο μέχρι να φτάσουμε στο τέλος της λίστας. Έτσι θα επαναληφθεί τρεις φορές.
Ομοίως, έχουμε κάνει για το Advanced For Loop όπου έχουμε δημιουργήσει ένα αντικείμενο που ονομάζεται obj για τη λίστα που ονομάζεται ArrayList. Στη συνέχεια εκτυπώθηκε το αντικείμενο.
Στη συνέχεια, έχουμε θέσει την κατάσταση του For Loop όπου ο επαναληπτής i έχει οριστεί σε 0 ευρετήριο και στη συνέχεια αυξάνεται κατά 1 έως ότου επιτευχθεί το όριο ή το μέγεθος του ArrayList. Τέλος, έχουμε εκτυπώσει κάθε στοιχείο χρησιμοποιώντας μια μέθοδο get (index) για κάθε επανάληψη του For Loop.
import java.util.*; public class arrayList { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add('20'); list.add('30'); list.add('40'); System.out.println(list.size()); System.out.println('While Loop:'); Iterator itr = list.iterator(); while(itr.hasNext()) { System.out.println(itr.next()); } System.out.println('Advanced For Loop:'); for(Object obj : list) { System.out.println(obj); } System.out.println('For Loop:'); for(int i=0; i Παραγωγή:
3
Ενώ βρόχος:
είκοσι
30
40
Προηγμένο για βρόχο:
είκοσι
30
40
Για βρόχο:
είκοσι
30
40
Ερ. 11) Γράψτε ένα πρόγραμμα Java για να δείξετε έναν σαφή έλεγχο συνθήκης αναμονής.
Απάντηση: Υπάρχουν δύο βασικοί τύποι αναμονής - έμμεσος και σαφής. (Δεν εξετάζουμε την άψογη αναμονή σε αυτό το πρόγραμμα)
Η σιωπηρή αναμονή είναι εκείνες οι αναμονές που εκτελούνται ανεξάρτητα από οποιαδήποτε κατάσταση. Στο παρακάτω πρόγραμμα, μπορείτε να δείτε ότι προορίζεται για το Google Chrome και έχουμε χρησιμοποιήσει ορισμένες ενσωματωμένες μεθόδους για τον ορισμό της ιδιότητας, τη μεγιστοποίηση παραθύρου, την πλοήγηση διευθύνσεων URL και τον εντοπισμό στοιχείων ιστού.
WebDriverWait wait = new WebDriverWait(driver, 20); WebElement element2 = wait.until(ExpectedConditions.visibilityOfElementLocated(By.partialLinkText('Software testing - Wikipedia'))); element2.click();
Στο παραπάνω κομμάτι κώδικα, μπορείτε να δείτε ότι έχουμε δημιουργήσει ένα αντικείμενο αναμονής για το WebDriverWait και στη συνέχεια αναζητήσαμε το WebElement που ονομάζεται element2.
Η συνθήκη ορίζεται με τέτοιο τρόπο ώστε ο οδηγός ιστοσελίδων να πρέπει να περιμένει μέχρι να δούμε τον σύνδεσμο «Δοκιμή λογισμικού - Wikipedia» σε μια ιστοσελίδα. Δεν θα εκτελεστεί εάν δεν βρει αυτόν τον σύνδεσμο. Εάν το κάνει, τότε θα κάνει κλικ με το ποντίκι σε αυτόν τον σύνδεσμο.
package Codes; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class explicitWaitConditionCheck { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); ChromeOptions options = new ChromeOptions(); options.addArguments('--disable-arguments'); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.navigate().to('https://www.google.com'); WebElement element = driver.findElement(By.name('q')); element.sendKeys('Testing'); element.submit(); WebDriverWait wait = new WebDriverWait(driver, 20); WebElement element2 = wait.until(ExpectedConditions.visibilityOfElementLocated(By.partialLinkText('Software testing - Wikipedia'))); element2.click(); }}
Q # 12) Συντάξτε ένα πρόγραμμα Java για να δείξετε Κύλιση προς τα πάνω / Κύλιση προς τα κάτω.
Απάντηση: Όλες οι γραμμές κωδικών είναι εύκολα σχετικές, όπως έχουμε συζητήσει στο προηγούμενο παράδειγμά μας.
Ωστόσο, σε αυτό το πρόγραμμα, έχουμε συμπεριλάβει το JavascriptExecutor js που θα κάνει την κύλιση. Εάν δείτε την τελευταία γραμμή του κώδικα, έχουμε περάσει το window.scrollBy (arg1, arg2).
Εάν θέλετε να πραγματοποιήσετε κύλιση προς τα πάνω, μεταβιβάστε κάποια τιμή στο arg1 εάν θέλετε να πραγματοποιήσετε κύλιση προς τα κάτω, μεταβιβάστε κάποια τιμή στο arg2.
package Codes; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class ScrollDown { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); WebDriver driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.get('https://www.google.com'); WebElement element = driver.findElement(By.name('q')); element.sendKeys('SoftwareTestingHelp'); element.sendKeys(Keys.ENTER); js.executeScript('window.scrollBy(0,1000)'); } }
Ερ. 13) Γράψτε ένα πρόγραμμα Java για να ανοίξετε όλους τους συνδέσμους του gmail.com.
Απάντηση: Είναι ένα τυπικό παράδειγμα του Advanced for Loop που έχουμε δει στα προηγούμενα προγράμματά μας.
Αφού ανοίξετε έναν ιστότοπο όπως το Gmail χρησιμοποιώντας το get () ή το πλοήγηση (). To (), μπορείτε να χρησιμοποιήσετε το tagName locator για να βρείτε το όνομα της ετικέτας ενός ιστότοπου που θα επιστρέφει όλες τις ετικέτες.
Έχουμε προχωρήσει για βρόχο όπου έχουμε δημιουργήσει έναν νέο σύνδεσμο WebElement2 για έναν σύνδεσμο (ο οποίος έχει ήδη εντοπίσει όλες τις ετικέτες), τότε έχουμε όλους τους συνδέσμους μέσω του getAttribute ('href') και έχουμε όλα τα κείμενα μέσω του getText ().
package Codes; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class openAllLinks { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.drive', 'C:\webdriver\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.get('https://www.gmail.com/'); java.util.List link = driver.findElements(By.tagName('a')); System.out.println(link.size()); for (WebElement link2: link) { //print the links i.e. http://google.com or https://www.gmail.com System.out.println(link2.getAttribute('href')); //print the links text System.out.println(link2.getText()); } } }
Παραγωγή:
Εκκίνηση του ChromeDriver 2.38.551601 (edb21f07fc70e9027c746edd3201443e011a61ed) στη θύρα 16163
Επιτρέπονται μόνο τοπικές συνδέσεις.
4
https://support.google.com/chrome/answer/6130773?hl=el-GR
Μάθε περισσότερα
https://support.google.com/accounts?hl=el-GR
Βοήθεια
https://accounts.google.com/TOS?loc=IN&hl=el-GR&privacy=true
Μυστικότητα
https://accounts.google.com/TOS?loc=IN&hl=el-GR
Οροι
Ε # 14 Γράψτε έναν κωδικό Selenium για μετάβαση στην προηγούμενη καρτέλα.
πώς να χρησιμοποιήσετε αρχεία torrent μετά τη λήψη
Απάντηση: Έχουμε δείξει τη χρήση της τάξης ρομπότ. Αυτό το βλέπουμε ως ένα σημαντικό τρίτο μέρος, επειδή μπορούμε να επιτύχουμε τη διαφορετική πλοήγηση σε ένα πρόγραμμα περιήγησης και τις καρτέλες του, εάν γνωρίζετε τα πλήκτρα συντόμευσης.
Για παράδειγμα , εάν έχετε τρεις καρτέλες ανοιχτές στο chrome σας και θέλετε να μεταβείτε στη μεσαία καρτέλα, τότε πρέπει να πατήσετε το κουμπί ελέγχου + 2 από το πληκτρολόγιό σας. Το ίδιο πράγμα μπορεί να επιτευχθεί και μέσω του κώδικα.
Παρατηρήστε τον ακόλουθο κώδικα (αμέσως μόλις δούμε το παράδειγμα της κλάσης Robot). χρησιμοποιήσαμε το αντικείμενο κλάσης ρομπότ που ονομάζεται ρομπότ με δύο ενσωματωμένες μεθόδους keyPress (KeyEvenet.VK_ *) και keyRelease (KeyEvenet.VK_ *).
package Codes; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class PreviousTab { public static void main(String[] args) throws AWTException { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.get('https://www.google.com'); WebElement element1 = driver.findElement(By.name('q')); element1.sendKeys('software testing help'); element1.sendKeys(Keys.ENTER); String a = Keys.chord(Keys.CONTROL,Keys.RETURN); driver.findElement(By.partialLinkText('Software Testing Help - A Must Visit Software Testing Portal')).sendKeys(a); Robot robot = new Robot(); // instantiated robot class robot.keyPress(KeyEvent.VK_CONTROL); // with robot class you can easily achieve anything if you know the shortcut keys robot.keyPress(KeyEvent.VK_2); // here, we have just pressed ctrl+2 robot.keyRelease(KeyEvent.VK_CONTROL); // once we press and release ctrl+2, it will go to the second tab. robot.keyRelease(KeyEvent.VK_2); //if you again want to go back to first tab press and release vk_1 } }
Ε # 15) Γράψτε ένα πρόγραμμα Java για να βρείτε τους διπλούς χαρακτήρες σε μια συμβολοσειρά.
Απάντηση: Σε αυτό το πρόγραμμα, δημιουργήσαμε μια μεταβλητή συμβολοσειράς str και αρχικοποιήσαμε έναν ακέραιο αριθμό με μηδέν.
Στη συνέχεια, δημιουργήσαμε έναν πίνακα χαρακτήρων για να μετατρέψουμε τη μεταβλητή συμβολοσειράς σε χαρακτήρα. Με τη βοήθεια του loop, πραγματοποιούμε μια σύγκριση μεταξύ διαφορετικών χαρακτήρων σε διαφορετικά ευρετήρια.
Εάν δύο χαρακτήρες διαδοχικού ευρετηρίου ταιριάζουν, τότε θα εκτυπωθεί αυτός ο χαρακτήρας και ο μετρητής θα αυξηθεί κατά 1 μετά από κάθε επανάληψη.
public class DuplicateCharacters { public static void main(String[] args) { // TODO Auto-generated method stub String str = new String('Sakkett'); int count = 0; char[] chars = str.toCharArray(); System.out.println('Duplicate characters are:'); for (int i=0; i Παραγωγή:
Οι διπλοί χαρακτήρες είναι:
προς την
τ
Ε # 16 Γράψτε ένα πρόγραμμα Java για να βρείτε τον δεύτερο υψηλότερο αριθμό σε έναν πίνακα.
Απάντηση: Σε αυτό το πρόγραμμα, έχουμε αρχικοποιήσει έναν πίνακα με 10 τυχαία στοιχεία από τα οποία θα βρούμε τον δεύτερο υψηλότερο αριθμό. Εδώ, έχουμε δύο ακέραιους αριθμούς - τον μεγαλύτερο και τον δεύτερο μεγαλύτερο. Και οι δύο ορίστηκαν στον πρώτο δείκτη του στοιχείου. Στη συνέχεια, εκτυπώσαμε όλα τα στοιχεία χρησιμοποιώντας το loop.
Τώρα, η λογική είναι όταν το στοιχείο στο 0ο ευρετήριο είναι μεγαλύτερο από το μεγαλύτερο, στη συνέχεια εκχωρήστε arr [0] στο μεγαλύτερο και το δεύτερο Μεγαλύτερο στο μεγαλύτερο. Και πάλι, εάν το στοιχείο στο 0ο ευρετήριο είναι μεγαλύτερο από το δεύτεροLargest, τότε ορίστε secondLargest στο arr [0].
Αυτό θα επαναληφθεί για κάθε επανάληψη και τελικά μετά τη σύγκριση ή ολοκλήρωση των επαναλήψεων έως το μήκος του πίνακα θα σας δώσει το δεύτερο μεγαλύτερο στοιχείο.
package codes; public class SecondHighestNumberInArray { public static void main(String[] args) { int arr[] = { 100,14, 46, 47, 94, 94, 52, 86, 36, 94, 89 }; int largest = 0; int secondLargest = 0; System.out.println('The given array is:'); for (int i = 0; i secondLargest) { secondLargest = arr[i]; } } System.out.println('
Second largest number is:' + secondLargest); System.out.println('Largest Number is: ' +largest); } }
Παραγωγή:
Ο δεδομένος πίνακας είναι:
100 14 46 47 94 94 52 86 36 94 89
Ο δεύτερος μεγαλύτερος αριθμός είναι: 94
Ο μεγαλύτερος αριθμός είναι: 100
Q # 17) Γράψτε ένα πρόγραμμα Java για να ελέγξετε τον αριθμό Armstrong.
Απάντηση: Πρώτα απ 'όλα πρέπει να καταλάβουμε τι είναι ο Armstrong Number. Ο αριθμός Armstrong είναι ο αριθμός που είναι το άθροισμα των κύβων όλης της μονάδας του, δεκάδων και εκατό ψηφίων για τριψήφους αριθμούς.
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 1 + 125 + 27 = 153
Εάν έχετε έναν τετραψήφιο αριθμό ας πούμε
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4 = 1 + 1296 + 81 + 256 = 1634
Τώρα, σε αυτό το πρόγραμμα, έχουμε δηλώσει μια θερμοκρασία και ακέραιους αριθμούς. Έχουμε αρχικοποιήσει το c με την τιμή 0. Τότε, πρέπει να αντιστοιχίσουμε την ακέραια τιμή που πρόκειται να ελέγξουμε για τον Armstrong (στην περίπτωσή μας, ας πούμε 153). Στη συνέχεια, έχουμε αντιστοιχίσει τη μεταβλητή temp με αυτόν τον αριθμό που πρόκειται να ελέγξουμε.
Στη συνέχεια, χρησιμοποιήσαμε τον έλεγχο υπό όρους όπου το υπόλοιπο αντιστοιχίζεται στο a και ο αριθμός διαιρείται με 10 και ορίζεται στο n. Τώρα, η μεταβλητή c που ορίστηκε αρχικά στο μηδέν εκχωρείται με c + (a * a * a). Ας υποθέσουμε ότι πρέπει να αξιολογήσουμε έναν τετραψήφιο αριθμό και στη συνέχεια το c πρέπει να αντιστοιχιστεί με το c + (a * a * a * a).
Τέλος, έχουμε τοποθετήσει μια δήλωση if-else για έλεγχο υπό όρους όπου συγκρίναμε την τιμή που περιέχεται στο c έναντι temp (που έχει τον πραγματικό αριθμό αποθηκευμένο σε αυτό το σημείο). Αν ταιριάζει, τότε ο αριθμός είναι Άρμστρονγκ αλλιώς όχι.
class Armstrong{ public static void main(String[] args) { int c=0,a,temp; int n=153;//It is the number to check Armstrong temp=n; while(n>0) { a=n%10; n=n/10; c=c+(a*a*a); } if(temp==c) System.out.println('armstrong number'); else System.out.println('Not armstrong number'); } }
Παραγωγή:
αριθμικός αριθμός
Ε # 18 Γράψτε ένα πρόγραμμα Java για να αφαιρέσετε όλα τα λευκά κενά από μια συμβολοσειρά με τη χρήση της αντικατάστασης ().
Απάντηση: Αυτό είναι ένα απλό πρόγραμμα όπου έχουμε τη μεταβλητή συμβολοσειράς str1.
Μια άλλη μεταβλητή συμβολοσειράς str2 αρχικοποιείται με την επιλογή ReplAll που είναι μια ενσωματωμένη μέθοδος για την αφαίρεση n αριθμού κενών διαστημάτων. Τελικά, έχουμε εκτυπώσει str2 που δεν έχει κενά διαστήματα.
class RemoveWhiteSpaces { public static void main(String[] args) { String str1 = 'Saket Saurav is a QualityAna list'; //1. Using replaceAll() Method String str2 = str1.replaceAll('\s', ''); System.out.println(str2); } } }
Παραγωγή:
SaketSauravisaQualityAnalist
Ερ. 19) Γράψτε ένα πρόγραμμα Java για να αφαιρέσετε όλα τα λευκά κενά από μια συμβολοσειρά χωρίς να χρησιμοποιήσετε το αντικατάσταση ().
Απάντηση: Αυτή είναι μια άλλη προσέγγιση για την αφαίρεση όλων των λευκών κενών. Και πάλι, έχουμε μια μεταβλητή συμβολοσειράς str1 με κάποια τιμή. Στη συνέχεια, έχουμε μετατρέψει αυτήν τη συμβολοσειρά σε πίνακα χαρακτήρων χρησιμοποιώντας το toCharArray ().
Στη συνέχεια, έχουμε ένα αντικείμενο StringBuffer sb το οποίο θα χρησιμοποιηθεί για να προσθέσει την τιμή που είναι αποθηκευμένη στο ευρετήριο chars [i] αφού έχουμε συμπεριλάβει για βρόχο και μία αν είναι συνθήκη.
Εάν η συνθήκη έχει οριστεί έτσι, τότε το στοιχείο στο ευρετήριο i του πίνακα χαρακτήρων δεν πρέπει να είναι ίσο με κενό διάστημα ή καρτέλα. Τέλος, εκτυπώσαμε το αντικείμενο StringBuffer sb.
class RemoveWhiteSpaces { public static void main(String[] args) { String str1 = 'Saket Saurav is an Autom ation Engi ne er'; char[] chars = str1.toCharArray(); StringBuffer sb = new StringBuffer(); for (int i = 0; i Παραγωγή:
SaketSauravisan Αυτοματισμός Μηχανικός
Q # 20) Γράψτε ένα πρόγραμμα Java για να διαβάσετε ένα excel.
Απάντηση: Αυτοί οι τύποι προγραμμάτων χρησιμοποιούνται γενικά στο πλαίσιο Selenium. Έχουμε προσθέσει λεπτομερή σχόλια για κάθε βήμα για να καταστήσουμε το πρόγραμμα πιο κατανοητό.
Η λογική ξεκινά αφού φορτώσουμε το φύλλο στο οποίο αποθηκεύονται τα δεδομένα. Προσπαθούμε να εισαγάγουμε email και κωδικό πρόσβασης. Γι 'αυτό, ανακτούμε το κελί χρησιμοποιώντας τη μέθοδο getRow () και getCell (). Ας υποθέσουμε ότι έχουμε email και κωδικούς πρόσβασης στο 1ο και το 2ο κελί.
Στη συνέχεια, ορίζουμε τον τύπο κελιού σε συμβολοσειρά. Στη συνέχεια πραγματοποιούμε μια κανονική λειτουργία εντοπισμού στοιχείων ιστού (By.id) όπου έχουμε περάσει μοναδικές τιμές εντοπισμού όπως 'email' και 'κωδικός πρόσβασης' που θα αναγνωρίζουν αυτά τα στοιχεία.
Τέλος, στέλνουμε κλειδιά χρησιμοποιώντας το element.sendKeys όπου το κλειδί cell.getStringCellValue (). Αυτό θα σας επιστρέψει την τιμή που είναι αποθηκευμένη στον αριθμό κελιού 1 και 2 αντίστοιχα.
@Test public void ReadData() throws IOException { // Import excel sheet from a webdriver directory which is inside c drive. //DataSource is the name of the excel File src=new File('C:\webdriver\DataSource.xls'); //This step is for loading the file. We have used FileInputStream as //we are reading the excel. In case you want to write into the file, //you need to use FileOutputStream. The path of the file is passed as an argument to FileInputStream FileInputStream finput = new FileInputStream(src); //This step is to load the workbook of the excel which is done by global HSSFWorkbook in which we have //passed finput as an argument. workbook = new HSSFWorkbook(finput); //This step is to load the sheet in which data is stored. sheet= workbook.getSheetAt(0); for(int i=1; i<=sheet.getLastRowNum(); i++) { // Import data for Email. cell = sheet.getRow(i).getCell(1); cell.setCellType(Cell.CELL_TYPE_STRING); driver.findElement(By.id('email')).sendKeys(cell.getStringCellValue()); // Import data for the password. cell = sheet.getRow(i).getCell(2); cell.setCellType(Cell.CELL_TYPE_STRING); driver.findElement(By.id('password')).sendKeys(cell.getStringCellValue()); } }
συμπέρασμα
Σε αυτό το άρθρο, έχουμε συζητήσει όλα τα σημαντικά βασικά προγράμματα συνέντευξης Java με παραδείγματα κώδικα που ζητούνται σε οποιεσδήποτε συνεντεύξεις προγραμματισμού Java.
Έχουμε μάθει όλα τα κόλπα Java, όπως βασικό χειρισμό συμβολοσειρών, ακεραίων και χαρακτήρων, κωδικών Selenium, ανάγνωσης δεδομένων από ένα αρχείο, μαθηματικών σειρών μέσω κωδικών και τώρα έχετε άφθονη ιδέα για το πώς να κάνετε οποιαδήποτε συνέντευξη Java.
Διαβάστε επίσης => Ερωτήσεις και απαντήσεις συνέντευξης Java OOP
Καλή τύχη :)
Συνιστώμενη ανάγνωση
- OOP Java: Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό στην Java
- Ανάπτυξη Java: Δημιουργία και εκτέλεση αρχείου Java JAR
- 20 Επιλεκτικές ερωτήσεις συνέντευξης QA για εκκαθάριση συνέντευξης το 2021
- Java Virtual Machine: Πώς βοηθά το JVM στην εκτέλεση της εφαρμογής Java
- Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης 20+ .NET
- Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης προγραμματισμού 40 C
- Κορυφαίες ερωτήσεις συνέντευξης 30+ JMS (Υπηρεσία μηνυμάτων Java)