Abnormal level Java programmer interview 32 questions

xiaoxiao2021-03-06  75

The front part is a problem, the back part is the answer to some netizens, you will refer to it:

*********************************************************** *******************

First, talk about the difference between Final, Finally, Finalize.

Second, anonymous inner class (anonymous internal class) can be extends other classes, can IMPLEMENTS INTERFACE (interface)?

Third, Static Nested Class and Inner Class are different, the more you say, the better (the interview question is very general).

The difference between fourth, & and &&.

Fifth, the difference between HashMap and HashTable.

Sixth, the difference between Collection and Collectes.

Seventh, when do you use Assert.

Eighth, what is GC? Why have GC?

Ninth, string s = new string ("xyz"); created a few String Object?

Tenth, Math.Round (11.5) is equal to how much? Math.Round (-11.5) is equal?

Eleventh, short s1 = 1; S1 = S1 1; What is wrong? SHORT S1 = 1; S1 = 1; What is wrong?

12. What is the difference between SLEEP () and WAIT ()?

Thirteenth, have Java goto?

Fourteenth, there is a length () method for arrays? String has a length () method?

Fifteenth, the difference between overload and override. Can OVERLOADED methods change the type of return value?

Tenth, the elements in the set cannot be repeated, then what method is used to distinguish whether it is repeated? Is it == or equals ()? What is the difference?

Seventest, give me a Runtime Exception you most often.

Eighteenth, what is the difference between ERROR and EXCEPTION?

Near 10th, List, SET, MAP inherits from a Collection interface?

Ten, what is the difference between Abstract Class and Interface?

Second Eleventh, abstract can be static at the same time, whether it can be native at the same time, is it SYNCHRONIZED?

Typographic, whether the interface can inherit the interface? Does the abstract class implement (IMPLEMENTS) interface? Does the abstract class can inherit the physical class (Concrete Class)?

On the thirteenth, starting a thread is Run () or start ()?

24. Is the constructor CONSTRUCTOR can be Override?

The second fifteenth, can you inherit the String class?

Twentydays, after a thread enters an SYNCHRONIZED method of an object, can other threads can enter other methods of this object?

27. There is a Return statement in try {}, then the code in finally {} in this try will not be executed, when is executed, before returnome or after?

Chapter 28. Program: 2 Multiply 8 equal to?

The second nine, the two object values ​​are the same (x.equals (y) == true, but there can be different haveh codes, this sentence is wrong?

Thirty, when an object is passed as a parameter to a method, this method can change the properties of this object and return the resulting result, then here is the value delivery or reference delivery? 31st, SWTICH Whether it can act on Byte, whether it can act on long, can it work on String?

Article 32. Program: Write a Singleton.

********************* The first person's answer abcdhy (Cheng Xu) **************** ******************

It's simple, not too hard.

First, talk about the difference between Final, Finally, Finalize. Too long .... Don't write it.

Second, anonymous inner class (anonymous internal class) can be extends other classes, can IMPLEMENTS (implementation) Interface (interface)?

Third, Static Nested Class and Inner Class are different, the more you say, the better (the interview question is very general). Know 80%, say no, understand it is too difficult

The difference between fourth, & and &&. Bit and logic

Fifth, the difference between HashMap and HashTable. Synchronize

Sixth, the difference between Collection and Collectes. Interface practical class

Seventh, when do you use Assert.

Eighth, what is GC? Why do you have GC? Automatic memory recovery, reduce memory leaks, improve system stability

Ninth, string s = new string ("xyz"); created a few String Object? 2 S and "XYZ"

Tenth, Math.Round (11.5) is equal to? Math.Round (-11.5) Is it equal? ​​Don't know. Random

Eleventh, Short S1 = 1; S1 = S1 1; What is wrong? SHORT S1 = 1; S1 = 1; What is wrong? Need a short, but find an int

Chapter 12, Sleep () and WAIT () What is the difference? Sleep () Sleep specified time Wait () sleep, other threads are required to wake up

Thirteenth, there is no goto in Java? No, but Break can be the function of implementing some goto

Fourteenth, there is a length () method for arrays? String has a length () method? No, there is

Fifteenth, the difference between overload and override. Does OVERLOADED methods can change the type of return value? No, overloaded must change parameters

Tenth, the elements in the set cannot be repeated, then what method is used to distinguish whether it is repeated? Is it == or equals ()? What is the difference between them? If the specific subclass is fixed, such as HashSet, Hashcode compares. == is the memory address of the comparative instance, and equals () is generally the specific content of the comparative example.

Seventest, give me a Runtime Exception you most often. NullPointersRexception, IOException

Eighteenth, what is the difference between ERROR and EXCEPTION? Error is unrecoverable, you must stop running. And Exception is expected, recoverable.

Ninth, List, SET, MAP inherit the COLLECTION interface? MAP is not

Ten, what is the difference between Abstract Class and Interface? It is the difference between Class and Interface, which can be casually

Second Eleventh, Abstract Can be simultaneous at the same time, whether it can be native at the same time, can you be synchronized? Does the abstract class can inherit the physical class (CONCRETE CLASS)?

Second 13, starting a thread is Run () or start ()? Start ();

Chapter 24. Is the constructor CONSTRUCTOR can be Override?

The second fifteenth, can you inherit the String class?

Twentydays, when a thread enters an SYNCHRONIZED method for an object, other threads can enter this object other method? Other threads can be, but the SYNCHRONIZED method of the object cannot be entered.

27. There is a Return statement in Try {}, then the code in finally {} in this try will not be executed, when is executed, before return or after it, occurs Before return

Chapter 28. Programming: Two multiply 8 equal to having the most efficient method? 2 << 3

The second nine, the two object values ​​are the same (x.equals (y) == true, but there are different haveh codes, this sentence is wrong? Can do this, but does not meet the Java specification

Thirty, when an object is passed as a parameter to a method, this method can change the properties of this object, and can return the resulting result, then here is the value delivery or reference delivery? Quote Transfer

Thirty-first, whether SWTICH can act on Byte, whether it can act on long, can it work on String? Long and string are not. Byte can

Article 32. Program: Write a Singleton. Public class aaa {private aaa II = new aaa (); private aaa () {}; public aaa get () {return II;}}

I spent a few more, and I have answered it. If I have learned enough, please give pointers.

*********************** The second person's answer dengyin2000 ****************** *******************

First, talk about the difference between Final, Finally, Finalize. Final-modifier (keyword) If a class is declared as Final, it means that it is no longer a new subclass and cannot be inherited as a parent class. Therefore, a class cannot be declared as Abstract, and it is declared as final. Declaring variables or methods to Final, ensuring that they are not changed in use. Variables that are declared for final must give initial values ​​at the time of declaration, and only read in future references, cannot be modified. The method that is declared for Final is also only available, and the Finally block is provided when it is not overloaded for Finally-re-abnormal processing, and any clear operation is performed. If you throw an exception, then the matching catch clause will execute, and then the control will enter the Finally block (if any). Finalize-method name. Java technology allows the use of the Finalize () method to make the object to clear the object from the memory before making the necessary cleanup work. This method is called by the garbage collector when it is determined that this object is not referenced. It is defined in the Object class, so all classes have inherited it. Subclasses override the Finalize () method to organize system resources or perform other cleanup work. The Finalize () method is called by this object before the garbage collector deletes the object.

Second, anonymous inner class (anonymous internal class) can be extends other classes, can IMplements INTERFACE (interface)? Anonymous internal class is an internal class without name. You cannot extends other classes, but an internal class can be implemented as an interface, and is implemented by another internal class. Third, Static Nested Class and Inner Class are different, the more you say, the better (the interview question is very general). NESTED CLASS (generally C statement), Inner Class (typically Java said). The maximum difference between Java internal classes and C nested classes is whether there is a reference to the outside. Specific visible http://www.frontfree.net/Articles/services/view.asp?id=704&page=1 Note: Static Inner Class means 1 Create a Static internal class, no need for an external class Object, 2 cannot access an external class object from an object of a Static internal class

The difference between fourth, & and &&. & Is a bit operator. && is the Boolean logic operator.

Fifth, the difference between HashMap and HashTable. Both of the MAP interface, implement the unique key to a specific value. The HashMap class is not classified or sorted. It allows a NULL key and multiple NULL values. Hashtable is similar to HashMap, but NULL keys and NULL values ​​are not allowed. It is also slower than HashMap because it is synchronized.

Sixth, the difference between Collection and Collectes. Collections is a class under java.util that contains a variety of static methods related to the collection. Collection is an interface under java.util, which is a parent interface of a variety of collections.

Seventh, when do you use Assert. As an assertion, a statement containing Boolean expression, assuming that the expression is TRUE when this statement is executed. If the expression is calculated as false, then the system will report an AssertionError. It is used to debug purposes: assert (a> 0); // throws an assertionError if a <= 0 assertion can have two forms: assert expression1; assert expression1: expness2; Expression1 should always generate a Boolean value. Expression2 can be any expression that draws a value. This value is used to generate a String message displaying more debugging information. As default, it is disabled by default. To enable assertions while compiling, you need to use Source 1.4 tag: Javac -Source 1.4 Test.java To enable assertion at runtime, you can use the -enableassertions or -ea tag. To disable assertion at runtime, you can use the -DA or the -disableAssertions tag. To enable assertion in the system class, you can use the -esa or -dsa tag. You can also enable or disable assertions on the basis of the package. An assertion can be placed at any position that is not reached in normal conditions. As an assertation can be used to verify the parameters passing to the private method. However, assertions should not be used to verify parameters passing to the public method, as there is no matter whether it is enabled, the public method must check its parameters. However, it can be used in public methods or in a non-public method to use asserts to test the post condition. In addition, the assertion should not change the status of the program in any way.

Eighth, what is GC? Why have a GC? (Foundation). GC is a garbage collector. Java programmers don't have to worry about memory management because the garbage collector will automatically manage. To request garbage collection, one of the following methods can be called: system.gc () runtime.Gcuntime (). Gc () ninth, string s = new string ("xyz"); create a few String Object? Two Object, one is "XYX", one is a reference object S with "XYX".

Tenth, Math.Round (11.5) is equal to how much? Math.Round (-11.5) is equal to? Math.Round (11.5) Returns (long) 12, Math.Round (-11.5) Return (long) -11;

Eleventh, short s1 = 1; S1 = S1 1; What is wrong? Short S1 = 1; S1 = 1; What is wrong? SHORT S1 = 1; S1 = S1 1; wrong, S1 is Short S1 1 is an INT type, which cannot be explicitly converted to a Short type. Can be modified to S1 = (Short) (S1 1). Short S1 = 1; S1 = 1 is correct.

Chapter 12, SLEEP () and WAIT () What is the difference? The favorite SLEEP () method of the thread is to stop the thread to stop a period of time. After the SLEEP time interval is full, the thread does not necessarily resume it immediately. This is because at that moment, other threads may be running and are not scheduled to give up execution, unless (a) "wake up" thread has higher priority (b) that is running because of other reasons. Wait () is a thread interaction if the thread issues a wait () call, the thread is suspended, the object is adjusted to the waiting state until it is awake or waiting time.

Thirteenth, there is a reserved word in Goto? Goto-Java, and now there is not used in Java.

Fourteenth, there is a length () method for arrays? String has a length () method? The array does not have Length () method, with the properties of the length. String has a length () method.

Fifteenth, the difference between overload and override. OverLoaded method can change the type of return value? Override Overriding and overload overloading is a different manifestation of Java polymorphism. Overriding Overriding is a manifestation of polymorphism between parent class and subclasses, and overloading overloading is a manifestation in a class. If a method is defined in the subclass with the same name and parameters as its parent class, we say that this method is overriddled. When the subject of subclass uses this method, the definition of the subclass will be called. For it, the definition in the parent class is like "shielded". If a plurality of the same names are defined in a class, they or have different parameters or different parameter types, called overloading. The way OVERLOADED is to change the type of return value.

The elements in the SET are not repeated, then what method is used to distinguish whether it is repeated? Is it == or equals ()? What is the difference between them? The elements in Set cannot be repeated, then use Iterator () Method to distinguish whether it is repeated. Equals () is the judgment of whether two SETs are equal. Equals () and == Method Decide whether the reference value points to the same object Equals () override in the class, which is the true value of the content and type of two separate objects. Seventest, give me a Runtime Exception you most often. ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, undeclaredthrowableException, unmodifiableseteexception, unsupportedopertyException

Eighteenth, what is the difference between ERROR and EXCEPTION? Error expresses a serious problem that recovers is not impossible but difficult. For example, memory is overflow. It is impossible to expect the program to handle this situation. Exception represents a design or implementation problem. That is, it means that if the program runs normally, it will never occur.

Ninth, List, SET, MAP inherit from the Collection interface? List, SET is

MAP is not

Ten, what is the difference between Abstract Class and Interface? The presence of a declaration method does not implement its class called abstract class, which is used to create a class that reflects certain basic behavior and for this class. Declaration methods, but cannot implement this class in this class. An instance of the Abstract class cannot be created. However, you can create a variable, which is an abstract class and let it point to an instance of the specific subclass. There is no abstract constructor or abstract static method. Subclasses of the Abstract class provide implementation for all abstraction methods in their parent class, otherwise they are also abstract classes. Instead, this method is implemented in the subclass. Other classes that know their behavior can be implemented in the class. Interface is a variant of an abstract class. In the interface, all methods are abstract. Multiple inheritance can be obtained by achieving such an interface. All methods in the interface are abstract, no probabilities. The interface can only define the Static Final member variable. The implementation of the interface is similar to the subclass, except that the implementation class cannot inherit behavior from the interface definition. When the class implements a special interface, it defines the method of all such an interface (that is, the program body is given). Then, it can call the interface to call the interface on any object of the class of the interface. Because there is an abstract class, it allows the interface name as the type of reference variable. The usual dynamic cable will take effect. The reference can be converted to an interface type or a slave interface type, and the InstanceOf operator can be used to determine whether an object is implemented. Second Eleventh, whether the method of Abstract can be static at the same time, whether it can be native at the same time, is it simultaneous to be synchronized?

Typographic Abstract classes can be implemented, whether abstract classes can inherit physical classes, but provided that the entity class must have a clear constructor.

Second, the thirteenth, starting a thread is Run () or start ()? Starting a thread is calling the start () method so that the virtual processor represented by the thread is running, which means it can be scheduled by JVM and carried out. This doesn't mean that the thread will run immediately. The Run () method can generate a flag that must be exited to stop a thread.

Chapter 24. Whether the constructor can be can't be inherited by the Override® constructor constructor, so Overriding cannot be overridden, but Overloading can be overloaded.

The second fifteenth, can you inherit the String class? The String class is not inherited by Final.

Twentydays, when a thread enters an SYNCHRONIZED method of an object, other methods of other threads can enter this object? No, one Synchronized method of an object can only be accessed by one thread.

27. There is a Return statement in Try {}, so the code in finally {} after this try is not executed, when is executed, before returnome or after it will be executed, in Return Pre-execution.

Chapter 28. Program: Two multiplier with the most efficient method is equal to a few? There are C backgrounds, special programs like to ask this question.

2 << 3

The second nine, the two object values ​​are the same (x.equals (y) == True, but there can be different Hash Code, this sentence is wrong? No pair, there is the same haveh code.

Thirty, when an object is passed as a parameter to a method, this method can change the properties of this object, and can return the resulting result, then here is the value delivery or reference delivery? Is a value transfer. The Java programming language is only passed by the value. When an object instance is transmitted to the method as a parameter, the value of the parameter is a reference to the object. The content of the object can be changed in the called method, but the reference to the object will never change. Thirty-first, whether SWTICH can act on Byte, whether it can act on long, can it work on String? Switch (expr1), expr1 is an integer expression. Therefore, the parameters passing to the Switch and the CASE statement should be int, short, char or byte. Long, String can not work on SWTICH.

Article 32. Program: Write a Singleton. The main role of the Singleton mode is to ensure that only one example exists in a Java application. General Singleton mode usually has several forms: the first form: Define a class, its constructor is private, it has a state of static private, instantoneation, and GetInstance through a public Method Get a reference to it, then calls it. Public class singleton {private singleton ()} // define one instance in itself, is it very strange? / Note This is private only for internal calling private static singleton instance = new singleton (); // here provides a static method for external access to this Class, you can directly access public static singleton getInstance () {return instance;}} The second form: public class singleleton {private static singleleton instance = null; public static synchronized singleton getInstance () {// This method is improved above, do not have to generate an object each time, only the first time // Generate an instance and improve efficiency! IF (instance == null) instance = new start;}} Other forms: Define a class, its constructor is private, all methods are static. It is generally considered that the first form should be safer than some of the 33thTable and HashMap HashTable inherited from the Dictionary class, and HashMap is an implementation of Map Interface introduced by Java1.2.

Hashmap allows null as a key or value of Entry, and hashtable is not allowed

Also, Hashmap removes the HashTable's Contains method, changed to ContainsValue and Containskey. Because the Contains method is easy to cause misunderstandings.

The biggest difference is that the HashTable method is Synchronize, and HashMap is not, when accessed HashTable, does not need to be synchronized for its method, and HashMap must provide external synchronization.

Hash / rehash algorithms used by HashTable and Hashmap are probably, so performance will not have a big difference.

********************* The first person's supplement abcdhy (Cheng Xu) ***************** ************************************************

Second, anonymous inner class (anonymous internal class) can be extends other classes, can IMPLEMENTS INTERFACE (interface)?

Anonymous internal classes can be extends other classes, this I have tested.

Eleventh, short s1 = 1; S1 = S1 1; What is wrong? SHORT S1 = 1; S1 = 1; What is wrong? Short S1 = 1; S1 = 1 is not correct. Where Short S1 = 1 This sentence will be wrong because 1 is int

The elements in the SET are not repeated, then what method is used to distinguish whether it is repeated? Is it == or equals ()? What is the difference between them? The elements in Set cannot be repeated, then use Iterator () Method to distinguish whether it is repeated. Equals () is the judgment of whether two SETs are equal. This answer is incorrect, and the set distinguishes the repeating element is implemented.

Twentydays, when a thread enters an SYNCHRONIZED method of an object, other methods of other threads can enter this object? No, one Synchronized method of an object can only be accessed by one thread. This also has problems. After a thread enters an Synchronized method of an object, this thread has the synchronous lock of the object. Other threads cannot enter the other synchronization method of this object, as other threads do not receive the synchronization lock of the object. However, other threads can enter other non-synchronous methods of this object, because entering the non-synchronous method, no simultaneous lock is required.

The second nine, the two object values ​​are the same (x.equals (y) == True, but there can be different Hash Code, this sentence is wrong? No pair, there is the same haveh code. According to Java coding specification, X.Equals (y) == True, hash code is dominated, but this is just a coding specification, and it can be done when it is programmed, and it can run normally.

Thirty, when an object is passed as a parameter to a method, this method can change the properties of this object, and can return the resulting result, then here is the value delivery or reference delivery? Is a value transfer. The Java programming language is only passed by the value. When an object instance is transmitted to the method as a parameter, the value of the parameter is a reference to the object. The content of the object can be changed in the called method, but the reference to the object will never change. Halo, actually said: The reference to the object will never change, what is the reference to the object, is the memory address (UINT), how to change. The pass value is a biography, which is for "objects". "Object" object Quote "is: passing the value or the biography, meaning ??

I briefly looked at it. Everyone can discuss it together!!

******************** The third person's answer abcdhy (Cheng Xu) ***************** ******************

First, talk about the difference between Final, Finally, Finalize. Too simple second, anonymous inner class (anonymous internal class) can be extends other classes, can IMPLEMENTS INTERFACE (interface) can be different, the Static Nested Class and Inner Class are different, the more More better. The Static class does not exist and the difference between the IV, & && and &&. It is too simple to distinguish between HashMap and HashTable. Too simple sixth, COLLECTION and Collections distinction. Too simple: the former is an interface, or an application class seventh, when is it using Assert. Debug, what is the eighth, GC? Why do you have GC? Needless to say ninth, string s = new string ("XYZ"); created a few String Object? Nonsense, of course, not, the reference is the tenth How much is Math.Round (11.5)? Math.Round (-11.5) Is it equal? ​​I halo the eleventh, short s1 = 1; S1 = S1 1; What is wrong? Short S1 = 1; S1 = 1 What is wrong? What is the difference between the former compiled? Sleep () and WAIT ()? The former is sleeping, the latter is waiting for others, the java has a goto? Keyword, no fourth, array Is there a length () method? String has a length () method? Array is attribute, String is the difference between the fifteenth, overload, and override. OverLoaded method can change the type of return value? Overload and cover the sixteenth, the elements in the set cannot be repeated, then what method is used to distinguish whether it is repeated? Is it == or equals ()? They have What is the difference? Strap! How can I use ==? Seventest, give me a Runtime Exception you most often.

NullPointersRexception Eightess Also ask? Second 11, abstract Method can be static at the same time, can you be native at the same time, can you be synchronized? I guess: Can I not be twelve, whether the interface can inherit the interface? Whether the abstract class can be implemented ( IMPLEMENTS interface? Does the abstract class can inherit the physical class (CONCRETE CLASS)? Of course, can start a thread is Run () or start ()? nonsense, START twenty-fourth, constructor constructor is OVERRIDE? It is a bit of a bit 25. Can you inherit the String class? Noway 26. After a thread enters an Synchronized method of an object, other threads can enter this object? Of course, the second seven There is a Return statement in try {}, so the code in finally {} after this try is not executed, when is executed, before returno or after? Of course, the twenty eight before returnium, Program: Two multiply 8 equal to a few times with the most efficient method? I have a test INT SB = 2 << 3; twenty-nine, two object values ​​are the same (x.equals (y) == true), but However, there can be different Hash Code, this sentence is not right? This problem is SB asked SB. You can have different havehcode, but Java does not recommend this thirtieth, when an object is passed as a parameter to a method This method can change the properties of this object, and can return the resulting result, then here is the value delivery or reference delivery? This problem is that SB is asked SB is a pass value, but this value is a reference 3 10 First, whether SWTICH can act on Byte, whether it can act on long, can it work on String? INT 32, program: write a Singleton out double Check invalid ********** ************ Other people's supplement ABCDHY (Cheng Xu) *************************************** ******

I think Finally should run such a statement before returno frequently used Try {connection = dbpool.get (); ....... // Todo} catch (sqlexception e) {// Todo } firmly {try {if (connection! = null) Connection.Close ();} catch (sqlexception e) {connection = null; // Todo}}

The purpose of writing this is whether the connection of the database should be closed regardless of what happens.

Twenty-seven this cumbersome: Class testfinally {public static void main (string [] args) {system.out.println (test ());}

Public static int test () {INT i = 0; try {system.out.println ("try"); return i;} finally {system.out.println ("finally"); i = 1; return i;} }} Look at the results?

How can you measure this? This way you can only prove

System.out.println (TEST ()); this statement is in System.out.Println ("INTO Finally"); this statement is executed, and system.out.println (Test ()) is included in this sentence Two steps, the first step Test () can be understood as return, the second step is printed, in fact, FINALLY is executed in these two steps, why not take my example to try?

Public static int test () {INT i = 0; try {return i;} finally {i = 1; system.out.println (i);}}

Zstzah (highlighting) is right, Finally is to be executed anyway!!

But I tested it, Finally executed before return. Test code:

Public class a {public static void main (string [] args) {system.out.println (TEST ());} public static int test () {INT i = 0; try or {} finally {system.out .println ("inTo finally");}}}

转载请注明原文地址:https://www.9cbs.com/read-93064.html

New Post(0)