剑指Offer(1)——第一章面试的流程

前言

剑指Offer这本书可以称得上的是圣经了,在面试之前,基本必刷一遍,但我在之前因为时间紧急,并没有来得及刷一遍,导致找工作的技能差了很多,现在进行重刷。

正文

一、经验

  1. 面试外企的话,一定要准备要英文方面的知识。
  2. 要注重编程习惯及调试能力。
  3. 不要一拿到问题,就急于开始进行编程。应先想清楚解决问题的思路,以及该算法的时间,空间复杂度是多少。
  4. 可提前准备好问面试官的问题。
  5. 用30s到1分钟的时间介绍自己的工作学习经历就可以了。
  6. 对于项目的描述建议使用STAR模式进行:
    在这里插入图片描述
  7. 可能会问你碰到的最大的问题是什么?(上次的IO测试,队列问题)
    在这里插入图片描述
  8. 在介绍项目经验(包括在简历上介绍和面试时口头介绍)时,应聘者 不必详述项目的背景,而要突出介绍自己完成的工作及取得的成绩.
  9. 回应为什么跳槽:通常给出的答案是:现在的工作做了一段时间, 已经 没有太多的激情了,因此希望寻找一份更有挑战的工作。
  10. 扎实的基础知识、能写高质量的代码、分析问题时思路清晰、能优化时间 效率和空间效率, 以及学习沟通等各方面的能力。
  11. 对链表的插入和删除结点了如指掌,对二叉树的各种遍历方法的循环和 递归写法都烂熟于胸,那么真正到了面试的时候也就游刃有余了。最后,大部分公司都会注重考查查找、排序等算法。应聘者可以在了 解各种查找和排序算法的基础上,重点掌握二分查找、归并排序和快速排 序,因为很多面试题都只是这些算法的变体而已。
  12. 一定要注意程序的边缘条件,以及对空指针的判断以及空字符串。这将很大程度决定你是否能够收到offer.
  13. 应聘者所需要掌握的五种能力:
    在这里插入图片描述

二、 常见题目

1. 把一个字符串转换成整数

  1. 初级代码:
int StrToInt(char* string)
{
	int number = 0;
	while(*string!=0)
	{
		number = number*10+(*string-'0');
		++string;
	}
	
	return number;
} 

要多考虑的点:

  1. 考虑到有非数字字符。
    2) 考虑到有正负号。
  2. 考虑到有最大的正整数和负整数以及溢出。
  3. 考虑当输入的字符串不能转换成整数时。

2. 求链表中的倒数第n个节点

/*
struct ListNode{
	int val;
	struct ListNode *next;
	ListNode(int x)
	{
		val(x);
		next(NULL);
	}
}
*/ 
class Solution{
public:
	ListNode* FindKthToTail(ListNode* head,unsigned int k)
	{
		int n = 0;
		for(ListNode* p = head;p;p = p->next)
			n++;
		if(k>n)
			return nullptr;
		ListNode* p = head;
		for(int i = 0;i<n-k;i++)
			p = p->next;
		return p;	
	}
};

三、测试相关内容

1. 白盒测试

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

2. 黑盒测试

黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

3. 自动化测试

一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。

参考

  1. 剑指Offer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值