Search Interview Questions | Click here and help us by providing the answer. Click Correct / Improve and please let us know. |
|
|||
|
| ||||
| Interview Questions and Answers - Order By Newest | ||||
| ||||
| Ans. http://www.logicbig.com/tutorials/core-java-tutorial/java-nio/java-watch-service/ | ||||
| ||||
| Ans. http://stackoverflow.com/a/6548203/2789764 | ||||
| ||||
| Ans. We can use \d{10} as the expression to check that | ||||
| ||||
| Ans. Because the way float values are stored its not precise. For example - 0.1 is actually stored as 0.1000000000000000055511151231257827021181583404541015625 | ||||
| ||||
| Ans. I use trace for debugging purpose. Info for displaying some important info, thought its rare as we have enabled info logging in production. Warn in case something went wrong but we still resume the flow in spite of it or have take alternate flow as its expected sometimes. Error logging in case it was completely unexpected and mostly when it breaks the flow. | ||||
| ||||
| Ans. https://en.wikipedia.org/wiki/Travelling_salesman_problem | ||||
| ||||
| Ans. Though there are many differences the way internally they both iterates the collections and streams respectively, but the main difference in performance that is achieved by spliterator as it can iterate Streams in Parallel whereas iterator only iterates collections sequentially. | ||||
| ||||
| Ans. Spliterator has better performance potential than iterators but only if the potential is used. Spliterator can iterate streams in parallel as well as in sequence whereas iterator can only iterate in sequence. | ||||
| ||||
| Ans. println prints an additional end of line whereas printf doesnt. | ||||
| ||||
| Ans. pom packaging is simply a specification that states the primary artifact is not a war or jar, but the pom.xml itself. | ||||
| ||||
| Ans. Maven Module has a Parent whereas Project doesnt. when we add the parent section to the pom file, it adds the module section to the parent project pom file. When we execute mvn compile / install, it basically checks that module section of the parent to identify all the modules that needs to be compiled first. | ||||
| ||||
| Ans. It means that the respective folder is not looked upon by Java to look for java or resource files and hence not being included as part of build.It needs to be added to Java Build Path. | ||||
| ||||
| Ans. .project is a project description file that helps plugins and eclipse understand about the project - organization of projects , their names, builders used by them etc. | ||||
| ||||
| Ans. .classpath specifies the source java and resource folders that are used by Builders to build. | ||||
| ||||
| Ans. Java provides a faster allocation mechanism but at the cost of expensive deallocation. Deallocation in java is done by mechanism called garbage collection that runs periodically to free up unclaimed memory space , which actually slows down the application. Hence Java is usually faster if memory is not of concern and sufficiently large memory can be allocated to an application. C/C++ on other hand have equal cost of allocation and de-allocation. | ||||
| ||||
| Ans. Shutdown hook is a thread that is invoked implicitly by JVM just before the shut down. It is used to clean up unused resources. | ||||
| ||||
| Ans. No we cannot start the same thread twice. Each thread has a lifecycle. But Yes, we can run the same code in parallel using different threads. | ||||
| ||||
| Ans. Please not that all such questions can be easily answered through recursion. Simple recursive implementation could be traverse(root); void traverse(Element element){ if(element.hasNext()){ traverse(element.next()); } else { System.out.println(element); } } but this algo / code lead to endless loop if there is a loop in graph traversal. So you can keep a collection to keep track of which elements have laready been traversed static List<Elements> listOfAlreadyTraversedElements = new ArrayList<Elements>(); main(){ traverse(root); } void traverse(Element element){ if(element.hasNext()){ traverse(element.next()); } else { listOfAlreadyTraversedElements.add(element); System.out.println(element); } } | ||||
| ||||
| Ans. String class is immutable as well as final. Because of these properties , String objects offer many benefits 1. String Pool - When a string is created and if it exists in the pool, the reference of the existing string will be returned instead of creating a new object. If string is not immutable, changing the string with one reference will lead to the wrong value for the other references. Example - String str1 = "String1"; String str2 = "String1"; // It doesnt create a new String and rather reuses the string literal from pool // Now both str1 and str2 pointing to same string object in pool, changing str1 will change it for str2 too 2. To Cache its Hashcode - If string is not immutable, One can change its hashcode and hence its not fit to be cached. 3. Security - String is widely used as parameter for many java classes, e.g. network connection, opening files, etc. Making it mutable might possess threats due to interception by the other code segment. | ||||
| ||||
| Ans. https://en.wikipedia.org/wiki/Agile_software_development | ||||
| ||||
| Ans. By specifying the modules in the same sequence in the parent pom. | ||||
| ||||
| Ans. JDBC is a standard Java Api for Database communication whereas Hibernate is an ORM framework that uses JDBC to connect with Database. Hibernate is another layer of object table mapping over JDBC that provide a database independent, object oriented and an efficient way of database communication. | ||||
| ||||
| Ans. In Java JVM memory settings is done by use the arguments -Xms -Xmx. Use M or G after the numbers for indicating Megs and Gigs of bytes respectively. -Xms indicates the minimum and -Xmx the maximum. | ||||
| ||||
| Ans. AWS Services - CloudFront for distribution / caching, EC2 for computing, EBS for block storage , S3 for object storage , RDS for database , Kinesis for streaming , CloudWatch for monitoring. Technologies - Java for back end with Spring Boot , Angular , RxJs for front end . Architecture - Service Oriented. Multi layer. | ||||
| ||||
| Ans. https://www.mongodb.com/scale/nosql-vs-relational-databases | ||||
| ||||
| Ans. Load the file in chunks and then process. If we need to do analytic, we can process analytic information for those chunks and then reprocess the processed information from each chunk. For example - we need to average all marks in the file. We can divide the file and load into 5 chunks and calculate average for each chunk. Then we can collect averages for all 5 chunks and then calculate the final average. | ||||
| ||||
| Ans. A Web service is a service offered by one system to another, for communication over web through http. XML are JSON are usually used for sending across information from one system to another. | ||||
| ||||
| Ans. https encrypts the data using SSL whereas http sends it as plain text, So https is secure protocol whereas http is not. Moreover https connects on port 443, while HTTP is on port 80 | ||||
| ||||
| Ans. https://www.geeksforgeeks.org/flatten-a-binary-tree-into-linked-list/ | ||||
| ||||
| Ans. public static Stream permutations(String str) { if (str.isEmpty()) { return Stream.of(""); } return IntStream.range(0, str.length()).boxed() .flatMap(i -> permutations(str.substring(0, i) str.substring(i 1)).map(t -> str.charAt(i) t)); } | ||||