The American tech communities, both employers and employees have been outspoken about the broken immigration system. Many people have been talking about facts for years and arguing about how it hurts the American tech sector and ruined the life of millions of immigrant tech workers, mostly Indians. Unfortunately, these people are just wasting their time. […]
Maximization of Relative Social Welfare on Truthful Cardinal Voting Schemes
This is a research paper I published in 2014 as my undergraduate thesis. The draft of paper was written in English. But because Tsinghua requires all students to write their graduation theses in Mandarin, I translated the paper to Mandarin. Recently I dug out the English draft and revise it a little bit. You can […]
[Interview Question] Tesla Autopilot Coding Challenge
Background This is a real take-home interview problem from Tesla Autopilot. I had an interview with them in May 2017. This is a very interesting and challenging problem. Before I worked on this problem, the Tesla people didn’t even know whether this problem is NP-hard or not. The standard solution provided by Tesla people used […]
Localization Done Right
Many US tech companies have difficulties entering foreign markets like China, Japan, and Russia. Many people know that the reason is cultural difference. But few companies take a step forward and fix the localization problem. It’s hard to find a rockstar programmer at my level. It’s almost impossible to find a rockstar programmer at my […]
The Problems with C++ and the Making of Go
I have been working with Go language intensively in the past year. I think it’s time for me to write something about my thoughts about Go. I was mostly working with C++ before I started my project with Go. Thus I want to focus on comparing the two programming languages: what I don’t like about […]
[LeetCode HARD] 32 Longest Valid Parentheses
LeetCode has become the de facto go-to website for tech interviews. As a former competitive programmer, the LeetCode “hard”, “medium”, and “easy” problems are more like “easy”, “very easy”, “extremely easy” for me. I think it would be a good idea for me to put my solutions of some of the LeetCode hard problems here. […]
[LeetCode HARD] 4 Median of Two Sorted Arrays
LeetCode has become the de facto go-to website for tech interviews. As a former competitive programmer, the LeetCode “hard”, “medium”, and “easy” problems are more like “easy”, “very easy”, “extremely easy” for me. I think it would be a good idea for me to put my solutions of some of the LeetCode hard problems here. […]
[LeetCode HARD] 23 Merge k Sorted Lists
LeetCode has become the de facto go-to website for tech interviews. As a former competitive programmer, the LeetCode “hard”, “medium”, and “easy” problems are more like “easy”, “very easy”, “extremely easy” for me. I think it would be a good idea for me to put my solutions of some of the LeetCode hard problems here. […]
[LeetCode HARD] 10 Regular Expression Matching
LeetCode has become the de facto go-to website for tech interviews. As a former competitive programmer, the LeetCode “hard”, “medium”, and “easy” problems are more like “easy”, “very easy”, “extremely easy” for me. I think it would be a good idea for me to put my solutions of some of the LeetCode hard problems here. […]
[LeetCode HARD] 146 LRU Cache
LeetCode has become the de facto go-to website for tech interviews. As a former competitive programmer, the LeetCode “hard”, “medium”, and “easy” problems are more like “easy”, “very easy”, “extremely easy” for me. I think it would be a good idea for me to put my solutions of some of the LeetCode hard problems here. […]