![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试面试题目
FFFXXXFFF
这个作者很懒,什么都没留下…
展开
-
二叉树非递归后序遍历(java)
// 非递归后序遍历public static void postorderTraversal(TreeNode root) { Stack<TreeNode> treeNodeStack = new Stack<TreeNode>(); TreeNode node = root; TreeNode lastVisit = root;//设置游标判...原创 2020-03-12 17:50:15 · 497 阅读 · 0 评论 -
Java求数组中两个元素差的最大值(动态规划)
题目求数组中两个元素差的最大值(后面的元素减去前面的元素);对应实际生活中的股票买卖,找出可能的最大收益;思路类似于求数组连续和的最大值;保存最大差值和最小值,遍历数组,如果当前元素-min>最大差值,则更新最大差值;如果当前元素<最小值,则更新最小值;代码实现public static int max_difference(int[] a){ int le...原创 2020-03-12 14:36:21 · 1750 阅读 · 0 评论 -
Java模拟微信发红包(普通红包、拼手气红包)
假设红包总额M元,分给N个人。满足条件:如果是普通红包,每个人获得的金额都一样;如果是拼手气红包,则有所区别,但不能金额过于离谱,比如第一个获得的太多,以至于后来的人都几乎没得分。注意点:1.总额必须准确2.最小金额为0.01元,即1分;3.获得红包金额的概率须加以控制。一、普通红包核心代码: public ArrayList<Integer> divide(int...原创 2020-03-12 13:49:14 · 1578 阅读 · 1 评论 -
面试手撕代码常见TopK问题(Java小顶堆实现)
public class TopK{ public static void main(String[] args){ int[] data={3,5,8,7,9,2,4,3,1,6}; //举例,如获取top5 int[] top5=topK(data,5); //1.先从原始数据中取出topK的前k个数据建立小顶堆 for(int i=0;i<5;i+...原创 2020-03-11 17:24:09 · 875 阅读 · 0 评论 -
Top问题常见具体场景问法、算法及时间空间复杂度分析
此处不再赘述其他排序方法,最优方法无疑是堆排序。堆排序是通过维护大顶堆或者小顶堆来实现的。堆排序法来解决N个数(非常大)中的TopK的思路是:1、先随机取出N个数中的K个数,将这N个数构造为小顶堆,那么堆顶的数肯定就是这K个数中最小的数了。2、然后再将剩下的N-K个数与堆顶进行比较,如果大于堆顶,那么说明该数有机会成为TopK,就更新堆顶为该数。3、此时由于小顶堆的性质可能被破坏,就还需...原创 2020-03-11 15:08:48 · 1723 阅读 · 0 评论 -
软件测试面试题:微信搜索功能测试点
功能测试:搜索内容为空、空格、关键字中间有空格在允许的字数范围内搜索、 字数范围外搜索,是否截取或其它正确处理;输入特殊字符,表情符号,url链接输入框复制和粘贴功能取消搜索:未输入取消,已输入内容取消输入html脚本,转义字符,sql注入脚本,是否能正确处理输入敏感词是否有提示多次搜索同样的内容指定内容:搜索朋友圈、公众号、音乐、表情,结果验证语音:语音输入是否成功、语音输入...原创 2020-03-09 22:06:02 · 1417 阅读 · 0 评论 -
Linux下grep显示多行信息
Linux下grep显示多行信息grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行grep -B 5 foo file 显示foo及前5行grep -A 5 foo file 显示foo及后5行grep -v down -v 是不显示匹配上的内容 ,显示不包含down的内容...原创 2020-03-09 20:18:54 · 729 阅读 · 0 评论 -
孤儿进程与僵尸进程
在unix/linux中,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进...原创 2020-03-09 20:04:48 · 176 阅读 · 0 评论 -
软件生存周期、项目生命周期、产品生命周期区别
软件生存周期一般包括以下各阶段:1软件计划与可行性研究(问题定义、可行性研究)2需求分析3软件设计(概要设计和详细设计)4程序编码5软件测试6运行与维护1.项目生命周期的阶段之间可能相互交叉,而产品生命周期的阶段通常不相互交叉;项目生命周期:项目初始->项目计划->项目执行控制->项目结束;产品生命周期:投入期->成长期->饱和期->衰退期;...原创 2020-03-09 20:00:07 · 2914 阅读 · 0 评论 -
查找数组中出现次数超过数组长度一半的数(Java实现)
数组中出现次数超过一半的数(Java实现)题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路数组中有一个数组出现的次数超过一半,这意味它出现的次数比其他所有数字出现的次数之和还要大。因此我们可以在遍历数组的时候保存两...原创 2020-03-09 19:36:41 · 798 阅读 · 1 评论 -
linux指令:find+rm删除当前目录及所有子目录中的指定文件
linux的一个find命令rm删除某目录下所有子目录 中的某类文件将当前目录下所有test.file文件删除find . -name "test.file" -exec rm -rf {} \; 详解:find:Linux的查找命令,用户查找指定条件的文件 .:当前目录 "test.file"":目标文件 -exec:选项 rm -rf...原创 2020-03-09 13:16:31 · 3170 阅读 · 2 评论 -
线程与进程的通信方式、同步方式
1、线程间的通信方式使用全局变量主要由于多个线程可能更改全局变量,因此全局变量最好声明为volatile使用消息实现通信在Windows程序设计中,每一个线程都可以拥有自己的消息队列(UI线程默认自带消息队列和消息循环,工作线程需要手动实现消息循环),因此可以采用消息进行线程间通信sendMessage,postMessage。1)定义消息#define WM_THREAD_SENDMS...原创 2020-03-08 15:58:47 · 244 阅读 · 0 评论 -
进程、线程与协程区别(面试)
1——协程协程这个概念比较少见,自己不太熟悉,所以多说点。协程,又称微线程,纤程。英文名Coroutine。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。子程序调用总是一个入口,一次返回,调用顺序是明确的。注意——而协程的调用和子程序不同...原创 2020-03-08 14:51:35 · 2200 阅读 · 0 评论 -
Java:无序数组的中位数(最小堆)
中位数,就是数组排序后处于数组最中间的那个元素。如果数组长度是奇数,最中间就是位置为(n+1)/2的那个元素。如果是偶数,中位数是位置为n/2和位置为n/2+1的两个元素的和除以2的结果。算法要求:输入一个整数数组,求出本数组的中位数。思路1:将数组排序,然后直接从排序数组中找出中位数。时间复杂度取决于排序算法,最快是快速排序,O(nlogn),或者是非比较的基数排序,时间为O(n),空间为O...原创 2020-03-08 10:59:47 · 1753 阅读 · 0 评论 -
APP测试需要考虑的点都有哪些?
功能测试:界面测试:安全性测试:性能测试:CPU,内存,耗电量,耗流量,流畅度,APP的安装和卸载和启动的耗时兼容性: 在不同的操作系统上的安装,拉起,点击,和卸载是否正常耗电量测试: 当手机冲满格电的时候能玩多久,挂机10分钟耗多少电,APP每小时耗电多少中断测试: app在前台和后台运行状态时与来电,文件下载,音乐等关键运行的交互情况测试,测试电话,短信,微博或其他通知...原创 2020-03-07 21:13:11 · 1818 阅读 · 0 评论 -
测试面试题:微信朋友圈点赞测试用例
功能测试性能测试界面测试易用性兼容性安全性1、功能测试点赞成功点赞后取消点赞弱网状态点赞没网情况下点赞点赞后评论点赞后消息列表的显示(按时间还是按昵称)点赞后共同好友可以看到点赞显示行一行可以显示多少人点赞人数限制点赞显示行的排列(按点赞时间)点赞显示行头像的显示点赞时断电点赞时断网点赞时手机故障点赞时来电话点赞时来短信点赞刚删除的朋友圈同一朋友圈,...原创 2020-03-07 21:06:53 · 12267 阅读 · 0 评论 -
Java实现-最长上升子序列
本题是一道动态规划问题,如果暴力求解的话,每一个数都有选或者不选两种状态,然后判断是否为上升子序列,如果是,就更新最长长度,直到枚举完所有情况。但是,当有n个元素的时候,其复杂度将达到O(2^n),这显然是不可承受的。所以利用动态规划可以显著的降低复杂度。令dp[i]表示以a[i]结尾的最长上升子序列的长度,对a[i]来说有两种可能:1)如果在i之前存在比a[i]小的数a[j](j <...原创 2020-03-07 20:26:36 · 1022 阅读 · 0 评论 -
Java阶乘累加和
import java.util.;public class Main{public static void main(String[] args){Scanner input=new Scanner(System.in);int n=input.nextInt();int ans=0;for(int i=1;i<=n;i++){int x=i;int num=1;w...原创 2020-03-07 20:06:14 · 1233 阅读 · 0 评论 -
华为性格测评注意事项
华为性格测评1、几个原则必须要遵守1)、华为喜欢那种喜欢加班的人,所以必须要能吃苦耐劳不计较报酬2)、华为喜欢中庸,不要表现自己的特性,有自己性格一定会被刷掉3)、华为喜欢稳定的,稳定超过一切包括技术、包括是否能做事4)、性格不能过激,比如那种会跳楼第一时间会被刷掉 表现团队合作的,强烈同意。领导他人,健谈等表现你的领导力的,轻微不同意。守时,承担高压力工作,大事面前不慌张等工...原创 2020-03-07 11:43:30 · 7128 阅读 · 1 评论 -
几道大厂面试经常问到的智力题
1、玻璃球与楼层题目:有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层??答:https://blog.csdn.net/coolws123/article/details/22998879假设问题存在最优解,这个最优解的最坏情况尝试次数是x次那么第一次时我们就得从第x层开始,因为若从x...原创 2020-03-07 17:34:15 · 3178 阅读 · 0 评论 -
Java获取键盘输入任意长度二维数组
二维数组,每一维想要输入任意个数的字符用空格隔开时可以用以下代码import java.util.Scanner; public class Main { public static void main(String[] args) { int a[][]=new int[100][100]; int n; Scanner in=new Scanner(System.in);...原创 2020-03-07 14:48:48 · 4330 阅读 · 1 评论 -
字节跳动笔试:求出点集合P中所有“最大的”点的集合
P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0,1e9) 内)如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。输入描述:第一行输入点集的个数 N, 接下来 N 行,每行两个...原创 2020-03-07 14:01:05 · 1677 阅读 · 1 评论 -
Java OJ题目判断输入结束
/*java 作Oj题目是会有输入若干数据的情况,不好判断输入结束符,类似于C语言中的EOF符号在这里提供了一种方法*/import java.util.Iterator;import java.util.Scanner;import java.util.TreeSet;public class StudentCode {public static void main(Str...原创 2020-03-06 14:03:20 · 840 阅读 · 0 评论