tx

Tencent Internship

Introduction#

In the computer, a road network is represented by a graph, i.e. a series of nodes and edges.

Nodes represent road intersections, and have properties like (latitude, longitude) coordinates, whether a traffic light is present, etc.

Edges represent roads, and have properties like number of lanes, which nodes it connects to, etc.



An example road network. Source: MDPI

Task#

I needed to find how Tencent's road network was different with respect to NavInfo's road network. In other words, find what are missing and what are redundant in the Tencent Map database.

For example, I needed to find the inaccuracies of traffic light information for all nodes (i.e. road intersections) in Tencent Maps.

Action#

I tried to pair up the nodes from the two networks, based on their coordinates. When two nodes are paired up, I look at whether one of them is marked "traffic_light: true" whereas the other is not.

I wrote substantial code to adapt to the different formats of the two map datasets. I used multiprocessing to scale up the matching program to run the national road network.

Result#

My program outputted more than 30,000 differences in traffic light data from the two road networks. Using similar methods, I found 700+ differences in toll gates.

I analyzed and categorized the cases, and presented my findings to the team. For example, some differences are due to recent changes in the road network; some are because the area is too remote.

The results are sent to the mapping team to verify and fix.

The Story  #

Click "" to read about my feelings about this internship, as well as what I learned from it.

Relevant Diary (in Chinese):
Interview — D5P310;
Internship — D5P317, D5P318, D5P320, D5P321, D5P323, D5P327

This internship was part of the selective "pre-Study Abroad" program of Tencent, where the interns consists of college graduates heading to grad school after the summer.

Due to COVID-19 pandemic, my internship was done remotely as I stayed in Nashville, while my team is based in Beijing. My leader cared about my health and I had flexible work hours, apart from needing to attend a weekly meeting at mid-night (U.S. central time).

My first project was finding missing pedestrian paths (in parks, schools, etc.) using datasets such as anonymous GPS data. However, I wasn't able to make much progress 2 weeks into the project, mainly due to a lack of mentorship, communication difficulties, and the intricacy of the code base.

In the 3rd week, my leader assigned me the "Road Network Matching" task, which turned out much more doable.

The internship experience greatly helped me understand what it's like to work at a Chinese tech company, as well as connect with the programmer community in China.

Back to Projects