Q1.Tell Me How Many Scheduled Days Have You Missed During The Last Four Months?
Bank interview questions will explore your reliability. Be honest about this as it can always be verified with a reference check. Focus on your reliability, punctuality and your willingness to work extra hours if needed.
Q2.Tell Me What Other Advice Would You Give To A Job Seeker Looking To Gain Employment?
Keep applying through the temp agency and contact the temp agency by phone, that is important and they give anybody that who want to be hired being contact with the temp agency once a week and show that you are really, really interested in part of the Citi environment.
Q3. Tell Us How Would You Describe The Application And Interview Process?
Well there are two ways especially well many ways but the main is to go through the temp agencies. They hire many people through the temp agencies and then they hire you as a permanent employee. You also can apply through the website but the main way to get a job over there is through the temp agencies. The interview, well it depends on the position but usually you would be a room with two or three person and they will ask really relaxing, they just go around what is your experience, what your background, what is your background in terms of a degree.
Q4. Why Should This Bank Hire You At Citi Bank?
Focus on specific experience and training in your career history.
Emphasize what qualifies you for this banking job and how you can add value to both the position and the bank. Look at the banking job requirements such as accuracy, customer care, computer skills, numeracy skills and communication skills. Highlight how you have demonstrated these skills previously.
Q5.Tell Me What Is The Most Significant Recent Development In The Investment Banking Industry?
The most significant recent development in the Investment Banking industry is changes in government regulations. Basel III requires banks to have higher capital ratios and since the amount of risk-weighted assets for Investment Banks is high, the result might be lower ROE. However, the positive side is that smaller banks might not be able to comply with these regulations and give up their investment banking ambitions, resulting in the industry becoming more concentrated. This will divide more business amongst the remaining “big” investment banks, resulting in higher ROE.
Q6.What’s wrong using HashMap in the multi-threaded environment? When get() method go to the infinite loop?
Well, nothing is wrong, it depending upon how you use. For example, if you initialize the HashMap by just one thread and then all threads are only reading from it, then it's perfectly fine. One example of this is a Map which contains configuration properties. The real problem starts when at least one of that thread is updating HashMap i.e. adding, changing or removing any key value pair. Since put() operation can cause re-sizing and which can further lead to infinite loop, that's why either you should use Hashtable or ConcurrentHashMap, later is better.
Q7. Does not overriding hashCode() method has any performance implication?
This is a good question and open to all, as per my knowledge a poor hashcode function will result in the frequent collision in HashMap which eventually increase the time for adding an object into HashMap. From Java 8 onwards though collision will not impact performance as much as it does in earlier versions because after a threshold the linked list will be replaced by the binary tree, which will give you O(logN) performance in the worst case as compared to O(n) of linked list.
Q8. Does all property of Immutable Object needs to be final?
Not necessary, as stated above you can achieve the same functionality by making member as non-final but private and not modifying them except in constructor. Don't provide setter method for them and if it is a mutable object, then don't ever leak any reference for that member. Remember making a reference variable final, only ensures that it will not be reassigned a different value, but you can still change individual properties of an object, pointed by that reference variable. This is one of the key points, Interviewer likes to hear from candidates.
Q9.How does substring () inside String works?
Another good Java interview question, I think the answer is not sufficient, but here it is “Substring creates a new object out of source string by taking a portion of original string”. This question was mainly asked to see if the developer is familiar with the risk of memory leak, which sub-string can create. Until Java 1.7, substring holds the reference of the original character array, which means even a sub-string of 5 character long, can prevent 1GB character array from garbage collection, by holding a strong reference.
Q10.What is Singleton? is it better to make the whole method synchronized or only critical section synchronized?
Singleton in Java is a class with just one instance in whole Java application, for example, java.lang.Runtime is a Singleton class. Creating Singleton was tricky prior Java 4 but once Java 5 introduced Enum its very easy. see my article How to create thread-safe Singleton in Java for more details on writing Singleton using the enum and double checked locking which is the purpose of this Java interview question.
Q11.Can you write code for iterating over HashMap in Java 4 and Java 5?
Tricky one but he managed to write using while and a for loop. Actually, there are four ways to iterate over any Map in Java, one involves using keySet() and iterating over key and then using get() method to retrieve values, which is bit expensive. Second method involves using entrySet() and iterating over them either by using for each loop or while with Iterator.hasNext() method. This one is a better approach because both key and value object are available to you during Iteration and you don't need to call get() method for retrieving the value, which could give the O(n) performance in case of huge linked list at one bucket. See my post 4 ways to iterate over Map in Java for detailed explanation and code examples.
Q12.Tell Me What Do You Think Will Be The Emerging Trends In Consumer Banking?
My perception is that there will be two different noticeable trends. In developed nations, the trend will be more towards digitization of products using mobile technology based on the tech savvy new generation that is emerging. In the developing nations, traditional banking will be more prevalent but will be highly volume based because every year more and more people are entering the middle-class bracket and can afford banking products.
Q13.Please Explain What Was The Work Environment Like?
Well it was really good. They are really flexible. They offer working from home which is really good. They offer to handle different schedules. For example, from 9 to 5, from 9 to 6. You don't have to have exact schedule. They are really flexible with the hours and also work from home which is something that many people like.
Q14. Where does equals() and hashCode() method comes in the picture during the get() operation?
This core Java interview question is a follow-up of previous Java question and the candidate should know that once you mention hashCode, people are most likely ask, how they are used in HashMap. When you provide a key object, first it's hashcode method is called to calculate bucket location. Since a bucket may contain more than one entry as linked list, each of those Map.Entry object is evaluated by using equals() method to see if they contain the actual key object or not.
Q15.How do you avoid deadlock in Java?
You can avoid deadlock by breaking circular wait condition. In order to do that, you can make arrangement in the code to impose the ordering on acquisition and release of locks. If lock will be acquired in a consistent order and released in just opposite order, there would not be a situation where one thread is holding a lock which is acquired by other and vice-versa. See the detailed answer for the code example and more detailed explanation.
Q16. What is the difference between creating String as new() and literal?
When we create the string with new() Operator, it’s created in heap and not added into string pool while String created using literal are created in String pool itself which exists in the PermGen area of heap.
String str = new String("Test")
does not put the object str in the String pool, we need to call String.intern() method which is used to put them into the String pool explicitly. It's only when you create String object as String literal e.g. String s = "Test" Java automatically put that into String pool. By the way there is a catch here Since we are passing arguments as "Test", which is a String literal, it will also create another object as "Test" on string pool. This is the one point, which has gone unnoticed until knowledgeable readers of Javarevisited blog suggested it. To learn more about the difference between String literal and String object, see this article.