TP-LINK软件工程师一二三面面经
TP-LINK的流程相当快,2.27左右投递简历,3.1笔试/测评(测评中的一个模块是技术类试题),3.3一面,3.7二面,3.9三面,3.10参加座谈会。本打算作为春招第一个面试的公司,锻炼一下面试技能,没想到直接拿到offer了。面试前看了牛客上的许多面经,面完来回馈大伙!!
一面(20min,实际上面了34min左右)
- 自我介绍
- 在校成绩(绩点、有无挂科)
- 简历上的项目(C/C++套接字编程、多线程与多路复用)
- 链表实现队列
- TCP三次握手与滑动窗口
- 个人爱好
- 反问:
想成为嵌入式软件工程师还需要学习什么?
进入企业后,工作流程(软件工程师的一天)是怎么样的?
二面(40min)
智力题(可以参考这篇文章来学习:【总结】面试中常见的智力题)
面试前一天看了牛客网上的常见智力题汇总,有了一点底气。实际做题时仍然有点紧张,解法与细节记不太清楚了。
1.盐重量问题:有7克、2克砝码各一个,天平一只,如何只用这些物品五次内将140克的盐分成50、90克各一份?
2.改:有7克、2克砝码各一个,天平一只,如何只用这些物品五次内将140克的盐分成60、80克各一份?
3.有一种体育竞赛共含M个项目,有运动员A,B,C三人参加,在每一项目中,第一,第二,第三名分别得X,Y,Z分,其中X,Y,Z为正整数且X>Y>Z。最后A得22分,B与C均得9分,B在百米赛中取得第一。求M的值及在跳高中谁得第二名。
编程题
力扣698. 划分为k个相等的子集
给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。
示例 1:
输入:nums = [1,2,1,2,3], k = 2 输出:7 解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1,2], [1,2,1,2].
示例 2:
输入:nums = [1,2,1,3,4], k = 3 输出:3 解释:恰好由 3 个不同整数组成的子数组:[1,2,1,3], [2,1,3], [1,3,4].
当时把思路讲完后,自己编写时,脑子比较混乱,没想好如何记录搜索点与回溯点,最后时间快到了,手撕失败。
简历上的项目
简历上有一个面试官比较感兴趣的项目,询问了一些细节。
三面(30-40min?)
- 自我介绍
- 简历上的项目(部分有深挖)
套接字、多线程程序设计
QT程序设计
C++中的虚函数,指针与引用的相同和区别(不会,没学过C++) - 浏览器输入域名进行访问,流程是怎么样的?
- 是否有考研?结果怎样?
- 智力题给定随机函数,生成别的随机数
看过原题但没记住解答方法,回答错了。 - 反问