Skip to main content

Some Highlights

1. A puzzle about sorting.
https://www.spotify.com/int/jobs/tech/zipfsong/
Given n double numbers, print the top m in a descending order. If two of the numbers have the same value, then the one appear earlier would have a higher weight.

This doesn't sound so hard. However, there are quite a number of tricks here. 1. Efficiency. 2. In Place Sorting.

I first tried quick sort. It supposed to be quite fast. However, I kept getting the wrong answer feedback. The reason is that when two numbers have equal value, quick sort doesn't make the original order in place.

Then bubble sort. Well, the answers would be correct, however, it's not efficient enough. Run Time Error.

Try merge sort, which is supposed to be in place and quite efficient. However,  still Run Time Error. When n is very large and m is small, it's too heavy to perform a sort to the n numbers then pick the top m.

It reminds me of heap, which keeps a good order during construction(heapify). However, it's also no good if we keep the heap size n when we are only interested in the top m elements. We'd better keep a heap size of m, then eliminate all the small elements out of the top m.  Priority queue! Thankfully, problem got solved.

2. Career consultancy.

I consulted Desmond who is a career consultant in SOC. He gave a very good advice on the career path. Firstly, I'd better work in an IT startup and learn some business while working as an engineer. Then go to a big company which gives a better branding of oneself. It would then be easier for people to trust and work with you if you're going to do startups. It's also safer to do startups while working in a big company instead of quitting jobs or doing it immediately after graduation. He helped refer to IBM and another startup company named "Thatz". Kaifu Lee also advise the fresh graduates to"participate first, then make it happen 先参与创业,再主导创业". I guess that's the right way.

3. CS3217 team project.

I have to say that the team mates are just too awesome. They learn and implement very quickly. Moreover, they are able to design the architecture very nicely. I am learning a lot from them.


Need to write the FYP report very quickly!






Comments

Popular posts from this blog

Imagine I will read it in 5 years(part II)

It is a war and those who fight and survive might become heroes of tomorrow. Top inspirations I learned from this crisis are as follows: 1. As a company or a government, risk management is super important. Those who manage the risks well and planned ahead could possibly overcome hard times and survive strong. One of the key principles for risk management is to distribute the risks over multiple buckets. To a B2B business or country, the key competitiveness would lie in supply chain management, getting the right suppliers and deliver to the end buyers. In the past, the key decision will be primarily influenced by the cost factor. In a low-risk environment, it would be fine. However, in a high-risk environment, this may break, and cost could be much less a factor than the following two factors: The reliability of the supplier The alternative choices in case of the supply chain breakdown. This reminds me of the fruits suppliers in SG's supermarkets. Even for oranges, it c...

IPAD/FB Seminar- Thoughts on Pulse News

Monday's presentation was full of interesting sparks. Of all the eleven teams, only one chose to present FB app, which is Sims Social. The others all chose to present ipad apps. That's not so surprising as Ipad(Tablets) is the most recent platform and there are a lot of blank spaces for us to fill in. The ten ipad apps shared in the seminar covers various fields like e-payment, news-media, education. What surprised me most is that many of us find education a very promising area for mobile app development...As ipads are being utilized as an educational tools in various educational levels, education is really going to be a great pie. Wait, I need to finish comments for my assigned app first. Pulse News, a news media app with good social features. News media are getting more social and mobile and probably "cloudy" in the recently years. Organizing news media contents can be a promising area since there are always interesting things happening around and people just have...

Pause and Retrospect

I recently enjoyed a swift lunch with an old friend, who was once my roommate during our school years. We had an in-depth conversation about life and career. To my mind, his thought process is far more mature than mine, and his decisions seem more future-oriented. Although our conversation was private, I believe certain insights should be shared with a broader audience. 1. The Role of Luck in Life.  His life experiences have significantly highlighted the impact of luck. While I'm not ready to accept this fully, similar sentiments have been echoed by other successful and wise individuals I've interacted with. I also recently watched an informative video that lucidly explains the 80/20 rule and the principle of luck. The video demonstrates through "agent-based modelling" how the wealthiest person isn't necessarily the most talented but is usually someone of average talent who encounters multiple lucky events in life.  I agreed that luck indeed plays a vital role and...