-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
202 lines (179 loc) · 14.3 KB
/
Copy pathindex.html
File metadata and controls
202 lines (179 loc) · 14.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Fenghao Li</title>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<style>
body {
font-family: 'Roboto', sans-serif;
margin: 0;
padding: 0;
background-color: #f2f2f2;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 40px;
background-color: #fff;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
}
.container section {
flex-basis: calc(50% - 20px);
margin-bottom: 20px;
}
h1,
h2,
h3 {
margin-top: 0;
}
h1 {
font-size: 36px;
font-weight: bold;
color: #333;
}
h2 {
font-size: 24px;
font-weight: bold;
color: #333;
}
h3 {
font-size: 18px;
font-weight: bold;
color: #333;
padding: 20px;
}
p {
font-size: 16px;
line-height: 1.5;
color: #666;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
margin-bottom: 10px;
}
a {
color: #0077cc;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
img {
/* flex: 1 1 50%; */
width: 30%;
height: auto;
}
.publication-title {
font-weight: bold;
font-size: 18px;
margin-bottom: 5px;
}
.publication-author {
font-size: 16px;
margin-bottom: 5px;
}
.publication-info {
font-size: 14px;
color: #666;
}
.publication-link a {
color: #0066cc;
text-decoration: none;
}
.publication-link a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<header>
<h1>Fenghao Li</h1>
</header>
<main>
<section style="display: flex; flex-direction: row; justify-content: space-between; align-items: center;">
<div style="padding-right: 20px;">
<p>Hello! I'm Fenghao Li, currently an undergraduate student at <strong>Central South University of Forestry and Technology</strong>, majoring in <strong>Information and Computing Science</strong> (2022.9 - 2026.6).
</p>
<p>I am proficient in C++ programming, familiar with the STL standard library, concurrent programming, memory management, and performance optimization.
Additionally, I have in-depth knowledge of backend technology stacks, including Redis internals (data structure implementations, Sentinel model, persistence mechanisms, etc.),
MySQL database (indexing, transactions, locking mechanisms, logging), and various network protocols (TCP, IP, DHCP, OSPF, VLAN, STP, etc.).
Furthermore, I am skilled in using Wireshark for packet capture and network troubleshooting.
</p>
<p>In competitive programming, I have won the Bronze Medal in ICPC Asia Regional Contest and Silver Medal in HNCPC Hunan Collegiate Programming Contest.</p>
<p> Contact: <a href="mailto:trisolaris03@gmail.com">trisolaris03@gmail.com</a> |
Phone: +86 153-4335-6293 |
<a href="https://github.com/s1amese2003">GitHub</a> |
<a href="resume/resume_ats.pdf">Resume</a>
</p>
</div>
<img src="./photo.jpg" alt="Fenghao Li" style="max-width: 170px; height: auto;">
</section>
<section>
<h2>Selected Awards</h2>
<ul>
<li>Bronze Medal, @50th ICPC Asia Regional Contest</li>
<li>Silver Medal, @20th HNCPC (Hunan Collegiate Programming Contest)</li>
</ul>
</section>
<section>
<h2>Technical Skills</h2>
<ul>
<li><strong>Programming Languages:</strong> Proficient in C++, familiar with STL standard library, concurrent programming, memory management, and performance optimization</li>
<li><strong>Databases:</strong> Familiar with Redis internals (data structure implementations, Sentinel model, persistence mechanisms, memory eviction strategies, etc.); familiar with MySQL fundamentals (indexing, transaction isolation levels, locking mechanisms, logging, etc.)</li>
<li><strong>Network Protocols:</strong> Familiar with TCP, IP, DHCP, OSPF, VLAN, STP, and other protocols</li>
<li><strong>Tools:</strong> Proficient in using Wireshark for packet capture and analyzing common network issues</li>
</ul>
</section>
<section id="projects">
<h2>Projects</h2>
<ul>
<li>
<div class="publication-title">C++ WeChat-like Instant Messaging System</div>
<div class="publication-info">
<p><strong>Instant Messaging & Protocol Design:</strong> Designed bidirectional persistent connection protocol based on TCP/WebSocket, using Protobuf for message structure definition, supporting text messages, file chunking, friend requests, and moments updates. Implemented message routing and offline message queue with sequence number + ACK retransmission mechanism, improving reliability and consistency in weak network scenarios.</p>
<p><strong>Tech Stack:</strong> C++, Boost.Asio, WebSocket, Protobuf, SQLite</p>
</div>
</li>
<li>
<div class="publication-title">File Transfer & Resumable Upload</div>
<div class="publication-info">
<p>Designed chunked upload protocol with offset + chunk + MD5 validation, implementing resumable transfer for large files and concurrent chunk writing. Server-side supports file persistence, task recovery, and streaming download with concurrent upload and integrity verification.</p>
<p><strong>Tech Stack:</strong> C++, libcurl / cpp-httplib, Concurrent IO, MD5 Checksum</p>
</div>
</li>
<li>
<div class="publication-title">Friend System & State Management</div>
<div class="publication-info">
<p>Implemented friend request/accept/delete/blacklist features, designed friend relationship state machine and authorization logic, with client-side SQLite caching of relationship snapshots. Supports incremental synchronization and local queries, reducing network overhead and improving client responsiveness.</p>
<p><strong>Tech Stack:</strong> C++, SQLite, ACL Policy</p>
</div>
</li>
<li>
<div class="publication-title">Moments & Multimedia</div>
<div class="publication-info">
<p>Supports posting text and multiple images, server-side object storage for image metadata management, client-side thumbnail generation and caching strategy. Designed fetch/incremental update interface with bandwidth control, optimizing loading and display experience on mobile networks.</p>
<p><strong>Tech Stack:</strong> C++, HTTP File Service, OpenCV / Qt Image Processing, Caching Strategy</p>
</div>
</li>
<li>
<div class="publication-title">Technical Highlights & Engineering</div>
<div class="publication-info">
<p>End-to-end implementation of instant messaging stack: protocol design, persistent connections, reliable transmission, file chunking, media signaling, and client UI. Improved concurrent throughput through multi-threading and asynchronous IO (std::thread, mutex, Boost.Asio); containerized project (Docker) with reproducible demo.</p>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>