研一面试今日头条实习生
1.笔试题
2.自我介绍
3.面试官提问
笔试题
一、测试用例设计(2选1)
1.设计微信拼手气红包的测试用例
2.设计APP中手机号注册功能的测试用例
二、基础知识(3选1)
1.TCP协议建立连接和断开连接的过程
2.HTTP和HTTPS的区别
3.进程和线程的区别
三、编程题(5选1)
1.生成n个不重复的【0,M】之间的随机数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int n,M,c;
int i=0;
printf("生成n个随机数\n");
scanf("%d",&n);
printf("最大为M\n");
scanf("%d",&M);
srand(time(NULL));
while(i<n)
{
c=rand()%M;
printf("%d\n",c);
i++;
}
}
2.验证一个IP地址是否为有效IP地址
3.将两个升序排列的数组合并成一个升序排列的数组
4.一个整数数组,其中有一个元素出现的次数超过数组长度的一半,找到该元素
5.计算64位无符号整数中等于1的比特位的个数
四、逻辑题(3选1)
1. M*N个方格,从左上角走到右下角,只能选择往右走或往下走,共有多少种走法
2.一米长杆上,每隔10cm有一只蚂蚁,蚂蚁除了两端两只初始方向向内,速度1cm/s,两两相遇后掉头,若爬出杆掉落,多长时间杆上没有蚂蚁
3.如何快速判断一个非常大的二进制数是否能被3整数
面试官问题
1.数据库的左连接和右连接
2.查找数据库中王姓同学
3.JAVA中的单例模式
4.访问网站的流程
5.编程:字符窜依次向后移动k位,时间负责度O(1),空间复杂度O(n)
统计字符串中重复字母的次数
6.内存溢出和内存外泄的区别