Job description
# Senior Frontend Developer (IM Direction) Salary: 20-40k
I. Frontend Fundamentals and Framework Skills
1. Bachelor's degree or higher in a computer-related field, with over 5 years of frontend development experience.
2. Proficient in JavaScript/TypeScript, with a deep understanding of core concepts such as prototype chain, closures, event loop, and asynchronous programming.
3. Proficient in React or Vue framework (at least one), familiar with its ecosystem tools (Redux/Vuex/Pinia, React Router/Vue Router, etc.).
4. Skilled in using build tools like Webpack and Vite, with capabilities in engineering configuration and optimization.
5. Familiar with HTML5 and CSS3, able to implement complex UI interaction effects.
II. IM Instant Messaging Development Experience
1. Must have over 2 years of experience in developing IM instant messaging systems, with a deep understanding of IM system architecture and core processes.
2. Proficient in WebSocket long connection technology, familiar with mechanisms such as connection establishment, heartbeat keep-alive, reconnection, and multi-end synchronization.
3. Familiar with common IM communication protocols (such as XMPP, MQTT, Protobuf) or capable of designing and parsing custom binary protocols.
4. Deep understanding of the implementation principles of core IM functionalities: message sending and receiving (one-on-one chat, group chat, @ reminders, message quoting and replying), message status (read/unread, message recall), message synchronization (offline message retrieval, roaming messages, multi-end message synchronization), rich media messages.
5. Experience in performance optimization in scenarios with large data volumes, such as virtual scrolling/virtual list handling for massive message rendering, image/file lazy loading and caching strategies, memory leak troubleshooting and optimization - familiar with message reliability assurance in weak network environments (message retransmission, ACK confirmation mechanism, message deduplication).
6. Understanding of frontend data persistence solutions (IndexedDB, LocalStorage) to implement local message caching.
III. Bonus Points
1. Experience in developing well-known IM products (DingTalk, WeChat Work, Feishu, Slack, Discord, etc.).
2. Experience in audio and video call development (WebRTC, real-time audio and video SDK).
3. Experience in cross-platform development for Electron desktop applications.
