【报告分享】2021Z世代食品饮料消费洞察报告-哔哩哔哩洞察(附下载)

400行代码高性能桌面共享(局域网)

  返回  

程序员面试的注意事项(三):高质量的代码

2021/8/20 11:53:49 浏览:

程序员面试的注意事项(三):高质量的代码

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权);
本博客的内容来自于程序员面试的注意事项(二):面试需要的基础知识;
学习、合作与交流联系q384660495;
本博客的内容仅供学习与参考,并非营利;

文章目录

  • 程序员面试的注意事项(三):高质量的代码
    • 一、代码的规范性
    • 二、代码的完整性
    • 三、3种错误处理的方法

一、代码的规范性

  1. 代码书写清晰
  2. 规范的代码布局清晰(空格)
  3. 规范的代码命名合理

二、代码的完整性

  1. 普通功能测试的测试用例
  2. 边界值的测试用例
  3. 各种可能的错误输入

三、3种错误处理的方法

  1. 返回值
  2. 全局变量
  3. 异常

面试题十六:数值的整数次方
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。

需要考虑x为零的情况,需要考虑n为负数的情况,快速幂

面试题十七:打印从1到最大的n位数
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

这道题目的陷阱在于是个大数问题,最佳做法是用字符串的排列组合方式做

面试题十八:删除链表的节点
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。

俩种方式:一种单指针,通过把下一节点val复制到当前节点,再删除下一节点
二:双指针,记录前指针

链表常用方式,固定下来的解题:

方便对头节点的操作,创建哑节点dummyhead
cur = dummyhed, cur指向当前节点
cur = cur->next,进行链表遍历

面试题十九:正则表达式匹配
请实现一个函数用来匹配包含’. ‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。】

动态规划

面试题二十:表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。

面试题二十一:调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

面试题二十二:链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。
例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。

一个指针一次遍历解决不了问题的时候,可以用双指针。一般是快慢指针,或者快指针走若干步。

面试题二十三:反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

面试题二十四:合并俩个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。

面试题二十五:树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)
B是A的子结构, 即 A中有出现和B相同的结构和节点值。

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号