interview questions shared by candidates
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
Given a very large existing network with thousands of external connections, how would you add an additional few hundred connections?3 Answers
Think it through, out loud. Walk through your options- don't just pick one. DS3, metro-E, SONET, etc.
someone building networks with thousands of external connections considering anything but 10G, 1G at minimum... doesn't understand COGS.... the name of the game is $0.000xxx/Mbps.. which you are not going to get with anything but ethernet.
SNMP/NetFlow to monitor the WAN Bandwidth Utilization + Characterize the Traffic (what type of traffic is using the network, QoS parameters for applications, CoS) a. Characterizing the traffic: 1. identify major traffic sources and stores and documented traffic flow between them. (Voice, Video) 2. categorize the traffic flow for each application as being terminal/host, client/server, peer-to-peer, server/server, or distributed computing. 3. estimate the bandwidth requirements for each application. 4. estimate the bandwidth requirements for routing protocols. 5. characterize network traffic in terms of broadcast/multicast rates, efficiency, frame sizes, windowing and flow control, and error-recovery mechanisms. 6. categorize the QoS requirements of each application and what are the current trends 7. discuss the challenges associated with implementing end-to-end QoS and the need for devices across the network to do their part in implementing QoS strategies. When the team determines that bandwidth augmentation is necessary based on the utilization reports of NetFlow and comparing it with the companies’ policies that the traffic is going over the threshold during the business hours, provides a recommendation to network engineers and managers. Once it is determined that an upgrade is necessary, proceeding with the upgrade becomes a business decision.
You notice that adwords revenue for a certain word has dropped in Italy for the last 30 days. How do you go about determining why that has happened?4 Answers
This is a test to see how you think on your feet.
Adword Revenue : No. of impressions * Click Thru Rate * Cost Per Click Anyone of the three parameters could decline to have an overall reduction in revenue. No. of Impressions could go down if a. The internet usage has fallen for some socio-culturaal reasons in Italy b. The usage of Google search has reduced because of may be some competitor applicaton launch or some major marketing promotion activities c. Some major technical issues has come up may be in the Google servers which is resulting in higher latency in Google Search applications resulting in reduced usage Click Thru Rate might have gone down 1 Major shift is usage clusters Keywords used have changed resulting in changed search behavior where in people are less prone to click thru. 2 Some technical issues like adds not displayed properly Same major flaw in random add picking might have got introduced 3. Some recent layout change has been there and peope are yet to get accustomed with the changed layout Reduced CPC: 1. People are spending less on Adwords and hence bidding less 2 Due to the keyword change, the new cluster CPC is much lesser.
1. Determine the amount of decrease in month over month percentages, and make sure this isn't a trend. 2. Assuming we've seen similar decreases in conversions and clicks, 30 days is a month's time. Let's say this is in August, when the entire country uses the majority of their average of 42 vacation days per year. That's a factor. 3. Given you've said decreases in revenue and assuming all click and conversion data remained the same month over month, we may look for broken dynamic revenue variable conversion codes on the page source. Was there a site update?
Hello, Thank you for sharing your interview experience. As a small team of ex-Google employees, we have recently launched a new website, interviewjoy.com, where you can earn money by sharing your interview experiences/insights with other job candidates. (It is a marketplace for sharing job interview insights). Posting an interview consultancy service is totally free & anonymous and we are giving 50 USD sign-up bonus for the first 500 users. You are kindly invited to interviewjoy.com to check it out. Users already started making money on the website! Best Regards.. (For more information: firstname.lastname@example.org)