interview questions shared by candidates
In an environment of layoffs and restructuring, how do you keep your team motivated?3 Answers
Be open and honest if their roles are in jeopardy. Understand their concerns and answer their questions as best you can. If you do not know, say so. Keep them busy, and involved in important work.
If possible (ie: no lying!), do the following: Tell your best performers, in confidence, that you'll shield them as much as possible providing they continue to produce. Suggest to, or tell, the underperformers that their job may be in jeopardy due to the economy / market / their performance / etc. - they may be able to bail out before the hammer drops. For the entire team, I concur with "Interview Candidates" answer above.
Stay positive, and focus on the work at hand. Keeping busy on important work helps people realize what they are doing is important. An ideal mind is the devil's.... well, you know the old saying. Be sure the physical environment is welcoming. In summer, raise the blinds, clean the common areas of papers and clutter. You will be amazed how much better things look when you take 10 short minutes a day to make the physical environment look better. The sun is out, blue skies, and maybe it's not so bad here. Let people vent. If you are not holding 1-on-1 meetings, then start. Hear people out. Be honest about what you can talk about. Don't sugar coat anything, but give those more junior to you some context and a bigger view. Sure some people will be laid off, but most will remain. Opportunity to do different things will become available. Sure you will work harder, but you will learn, growth, and build your reputation for having a level head in complex times. Lastly, have a plan. Know what you will do as a manager if you have to layoff 1,2 or 3 people. Know how the work will move around. This will allow you act quickly and decisively should things come to that. Having a manager who looks in charge because they already thought it through will go a long way.
Write code in your favorite programming language that will accept two strings and return true if they are anagrams.2 Answers
This was not really that hard to write it, however the interviewer asked me to reduce the complexity. My initial version had n*log(n) complexity and he asked me to reduce it to no more than n complexity. If you have had some upper level Computer Science classes this is not too difficult, however what they are looking for is a way to stump you. If you adjust your code or thinking rapidly to their request they will change it again until they find something that you have trouble with. Do not be discouraged by this, it is the interviewers job to determine how much you know!
Found this good link. Time complexity is O(n). http://www.dreamincode.net/code/snippet1481.htm The algorithm can still be improved but gives some basic idea on how to implement.
Why are point to point VPNs not exactly the best way to connect LANS2 Answers
The rekeying that occurs plays havoc with monitoring software.
The rekey interval is usually 1 or 8 hours, by default. It can be made longer if desired. The biggest downsides I see of VPNs are 1) No firm SLA - VPNs are dependent on the Internet, and thus prone to any performance issues or outages. 2) Limited Scalabilty - As the network expands or changes, all the tunnels must be manually updated (unless you're running a dynamic routing protocol across them). 3) Limited features - For example, it's impossible to bridge the same subnet across a VPN. 4) Complexity - IPSec has lots of options, and if both sides don't match exactly, the tunnel will have problems. This is a big headache if you don't control the equipment on both sides of the tunnel.
What would I do to improve and ensure product quality if given the job?2 Answers
First thing, get acclimated and learn and understand the status quo (what development processes and tools are currently being used, what ideas/feedback internal stakeholders have about the current state of things, what comments/feedback have our customers provided, etc). These are all important because before you can set out to improve something you must first understand what it is that needs improved - and why - and how - and by whom, etc. It's nice to have an improvement plan in mind but it's more important to recognize and understand there's no such thing as a 'one size fits all' plan. Seeking to implement change w/o first seeking to understand what needs to be changed and why is basically just change for change's sake - not a good thing.
The forst rule to improve the quality should be to see if we are meeting to "confirm" the basic requirement set by the customer or not. If we have 100 processes going on, but the confirmance to requirement is stil not met, we really have a huge job to do. So first do a gap analysis quickly that how far we are from actually meeting the requirement of the client, Once we fill that gap, we need to see how can we now "delight" the client.
What salesforce product would you sell and how would you sell it?3 Answers
Learn as much as you can about their products
Hi - how did you create a preso? Did you have something to work off of as a template? I have to beieve it would be hard to present a product you have never sold before.
Be well-versed in their products and services so that you can give a persuasive sales pitch. Make sure to be aware of any faults, weaknesses, or common concerns so that you can counter these effectively.
What is the difference between RAID 0 & RAID 5?2 Answers
It should a simple question if you have worked with computers & HDDs. RAID 0 - Block striping (req. 2 HDDs) and no mirroring or parity RAID 5 - Block striping with 1 dedicated parity drive (req. 3 HDDs)
To expand on the previous answer, RAID 0 improves HDD performance dramaticaly, but since there is no mirroring if one drive dies data is lost. RAID 0 should never be used on a system with critical data. In RAID 5, performance is slower, but it allows for the failure of a HDD with no loss of data. Consider instead, RAID 10. It requires a minimum of four HDD's, but provides an increase in performance with redundancy.
What is a volatile variable, and why would you use it?2 Answers
Volatile keyword is used during multi-threading when you want the threads to edit this variable value. It ensures that the value of the variable is not cached and is stored directly in the main memory. hence, enabling concurrent usage of the variable by different threads.
Consider a single threaded single processor environment. Do you still need a volatile?
What's the difference between block code and convolution code?2 Answers
In block codes, information bits are followed by parity bits. In convolution codes, information bits are spread along the sequence. Block codes are memoryless whereas Convolution codes have memory. Convolution codes use small codewords in comparison to block codes, both achieving the same quality.
Block code code information in blocks while convolutional codes convolve information bit sequence