华为无线2020春招一面二面主管面-3.25

一面技术面,问的也不是很难
1、简单介绍下自己
2、计算机网络分层(7层),分别干什么的
3、链表的应用(电视缓存,计算机消息队列)
4、为什么要发明链表?(没答上来,解决消息产生速度与处理速度不匹配)
5、撸代码,一棵树,实现每个结点左右子树互换

//我的代码
#include 
#include 
#include 

using namespace std;

struct TreeNode
{
	int val;
	TreeNode *left, *right;
};

void swapTree(TreeNode* root) {
	if (!root)
		return;
	TreeNode* temp = root->left;
	root->left = root->right;
	root->right = temp;
	if(root->left)
		swapTree(root->left);
	if(root->right)
		swapTree(root->right);
}

int main() {
	TreeNode* root = new TreeNode;
	root->val = 1;
	TreeNode* a1 = new TreeNode;
	a1->val = 2;
	TreeNode* a2 = new TreeNode;
	a2->val = 3;
	TreeNode* a3 = new TreeNode;
	a3->val = 4;
	root->left = a1;
	root->right = a2;
	a1->left = NULL;
	a1->right = a3;
	a2->left = NULL;
	a2->right = NULL;
	a3->left = NULL;
	a3->right = NULL;
	swapTree(root);
	queue<TreeNode*> myQueue;
	myQueue.push(root);
	while (!myQueue.empty())
	{
		TreeNode* p = myQueue.front();
		cout << p->val;
		myQueue.pop();
		if (p->left)
			myQueue.push(p->left);
		if (p->right)
			myQueue.push(p->right);
	}
	system("pause");
	return 0;
}

6、讲一讲一个软件的一生
7、软件测试要测什么?(可靠性,性能、安全(最重要))
8、BFS,DFS简单描述下
9、好了,你还有什么想起问我的
总体下来感觉还行,还给我建议知识要多结合生活实际。

几分钟后直接二面…这么快的么?
二面技术面
1、简单介绍下自己
2、判断float型变量为零(if)(没答上来,不能==,要>= -0.00001 && <= 0.00001)
3、进程与线程的区别
4、手撕代码,实现链表反转

//我的代码
#include 
#include 

using namespace std;

struct ListNode
{
	int val;
	struct ListNode* next;
};

struct ListNode* reverseList(struct ListNode* head) {
	if (!head)
		return NULL;
	struct ListNode* end = head;
	while (end && end->next)
		end = end->next;
	struct ListNode* temp = head->next;
	while (head != end) {
		head->next = end->next;
		end->next = head;
		head = temp;
		temp = temp->next;
	}
	return head;
}

int main() {
	struct ListNode* a1 = new ListNode;
	struct ListNode* a2 = new ListNode;
	struct ListNode* a3 = new ListNode;
	struct ListNode* a4 = new ListNode;
	a1->next = a2;
	a2->next = a3;
	a3->next = a4;
	a4->next = NULL;
	a1->val = 1;
	a2->val = 2;
	a3->val = 3;
	a4->val = 4;
	struct ListNode* head = reverseList(a1);
	while (head) {
		cout << head->val;
		head = head->next;
	}
	system("pause");
	return 0;
}

5、如下

int a = -20;
unsigned int b = 5;
if(a + b <= 0)
	printf("<=");
if(a + b > 0)
	printf(">");

求输出结果
6、如下

union DATE {
	long a1;
	int a[5];
	char b
};
struct Data{
	//里面有些东西我忘了...
};
DATE date;
Data myData

求sizeof(date) + sizeof(myData)
7、你觉得你简历里做过的最有成就感的项目是什么,能讲讲吗,遇到了什么问题,你是怎么解决的
8、忘了…
问的问题有几个没答上来,不过不要紧,会就是会,不会就是不会,不要扯一堆有的没的…

5分钟后主管面,聊人生
1、介绍下你自己吧
2、简历里面最有成就感的项目讲讲呗
3、你觉得你人生中最困难的是什么时候,你是怎么克服的?
4、你考研了吗?感觉考得怎么样?
5、你为什么想来上海,学校不是在南京吗?(上海技术发达,当然想去啊)
6、开始介绍公司,做什么的,底层芯片啊,操作系统啊,架构啊什么的,快乐聊起来
7、介绍完后问你对这方面偏底层的有没有兴趣(因为我是软件工程,主要偏应用些)
8、好了,就面到这了,等通知。

整体下来感觉挺愉悦的,希望能过。

你可能感兴趣的:(随笔)