Can someone who is a domain expert comment on this statement I see being repeated often about Jio's ability to have a significantly lower cost structure by offering only 4G service with 'commodity hardware' versus the legacy players who are operating 2G/3G networks in conjunction with 4G? Is there a lot of truth to this or is this just something that the analysts have heard someplace and are now repeating it faithfully?
1) How big can all the colocated data for a single primary key get before they don't fit within a split? Can I implement a GMail-like product where all the data for a single user resides within one split?
2) Is there a way to turn off external consistency and fall back to serializability? In return you get better write latencies. This is similar to what CockroachDB provides?
It's simply due to the competitive hiring environment for the best software engineers in USA. The difference in pay cannot merely be explained simply by the difference in cost of living. I have personally worked in Singapore as a software engineer before moving to USA (worked for companies in SF & Seattle). A very good senior software engineer in SG might make SGD100-120k/yr with 10 years of experience. Singapore is a world-class city but it's also a very expensive place to live. In USA, the same engineer could be making USD400-500k/yr with 10 years of experience provided they work for top-tier companies like Google/FB/Apple/Amazon. These numbers obviously include stock-based compensation. The key is to be in the 95th percentile - I think the difference in pay (between USA vs world) is less drastic if you are just in the 50th percentile.
I have been through this several times. There's never any advantage to you revealing your current salary. No company is ever going to reject you because you didn't tell them your current salary. So just politely tell the recruiter that you don't want to reveal it. If they insist, just tell them what your salary expectation is (this should give them an idea of what kind of offer you'd be willing to accept which is all they should care about).
Ok so you can deduct as much as you want from any 'capital gains' you might have but only are allowed to deduct a max of $3000 per year from regular income, and the leftover capital loss just keeps on rolling over perpetually until you die?
Also the other thing that's screwed up about this is you pay taxes when you exercise the options at the normal income tax rate. But when you want to apply the tax deduction in the event of a loss, you're only allowed to do it on 'capital gains' for an unlimited amount and a max of $3000 on normal income. In fact it might be preferable to deduct it against normal income and keep rolling it over and just pay normal capital gains taxes (which is much lower than your income tax rate typically).
What happens when after exercising, you sell the shares for a lot lower than the EV the year after? Can you claim a loss and deduct the loss from the taxable income the year you sold?
Your resume is fine (just make the GPA more obvious - convert to 4.0 scale or something).
I've worked at some of the companies you mentioned and I regularly do technical interviews for internships. Here are some tips:
- Try to get a referral. This is by far the easiest way to stand out if you are not from some of the top colleges the company is actively targeting (top tier firms go on campus recruiting trips to the best schools in US and they get most of their candidates from that pool). Explore your network - do you know anyone that went to your school and now works at one of these companies? Ping them.
- Start applying early. Usually the company decides upfront how many internships they're going to offer that year. So if you apply late, your changes of getting in are lower - they've very few slots left and they can be very selective. Go on LinkedIn and look for recruiters from the company who handle University Recruiting specifically. Ping them and ask them about internships and their recruiting schedule.
- Try applying to companies in Europe like someone else suggested.
Also don't worry too much if you don't get into your dream internship now - it's not the end of the world. I have been in a similar boat - I went to school in Singapore and I got rejected by every single company in your list for internships (my school is one of the top 3 schools in Asia but that still didn't help). Instead I ended up interning at some local startups. 6 years later things have changed - I've worked for some of the companies on your list and every company that has rejected me in the past is now trying to actively recruit me. So don't get disappointed - keep learning, contribute to open source projects, apply to Google Summer of Code, keep participating in competitive programming contests and be the best you can be.
Amazon is way ahead of everyone else in the cloud space. Their closest rivals (Microsoft & Google) are pretty much copying AWS. Most of Azure's services are equally proprietary and I doubt that will ever change.
This just leaves the other smaller players (DigitalOcean, Joyent, Rackspace, etc) who are mostly offering something akin to EC2 and then partnering with other vendors to offer the missing pieces on top (frankly what other choice do they have? They can't get into a race with Amazon/Google on who can build the most no. of services - they will never win that race).
What are the size limits on a collection? Docs mention transaction support is offered only within a collection. Is a collection essentially limited to a single physical machine in the background or does it span across machines? It looks like in Standard Preview, the max collection size is 10GB.
Simple use-case: you want to maintain a counter. In Cassandra even if you tune the consistency levels (set R+W>N), there's no way to correctly implement a conditional update. To elaborate further, you could successfully increment the counter in some nodes but fail on others and don't reach quorum (partial write). The next time you do read-repair, it's going to do LWW and propagate that update everywhere else. Meanwhile you think it has failed, and reissue the increment once again and so you've incremented twice. Alternatively you could have 2 competing increments racing each other and one of them wins and the other loses due to LWW (and you've missed 1 count). This is trivial to implement correctly in HBase since it offers strong consistency.
In practice, Cassandra gets around this issue by implementing a custom CRDT for counters. But CRDTs don't exist for everything and in general it's not trivial to get things right. I'm not arguing Cassandra is bad, but it's a misconception that you can tune the consistency levels and somehow get Cassandra to behave like a strongly consistent store.
Tuning consistency levels for your requests (R/W/N values) can only guarantee read-after-write consistency at best. It doesn't guarantee strong consistency like what HBase provides.
I worked at AWS for a while. So a lot of times when I've been in such meetings, the 6-page document was actually full of technical details (design docs, product FAQs, post-mortem reports, etc). So taking 20-30 mins to read through the full document, re-read some sections and write down questions/comments is not that unusual.
The OP's cluster is a 16-node hs1.xlarge cluster (has 3 spindles per node). There's actually a more powerful node-type hs1.8xlarge which has 24 spindles on each node. More info: http://aws.amazon.com/redshift/pricing/
So it's not fair to compare Redshift performance to your Vertica cluster unless the hardware is similar.
Amazon RDS is for OLTP workloads. Redshift is a distributed, column-oriented store that's designed for OLAP workloads. For more info: http://aws.amazon.com/redshift/faqs/#0110
PHP vs Ruby is not going to make a big difference. What matters is how you good you are.
Listen to your parents and go to college. If you love working with computers so much, a Computer Science degree will be fun. There's a lot more stuff to learn in CS than merely becoming an expert RubyonRails programmer. Do your web development stuff while you're studying and if you do become the next Zuckerberg, drop out then!