总结常见的面试题

百度校园招聘历年经典面试题汇总:开发测试岗

 

(1)、sql语句增、删、查、改

1.使用insert插入单行数据:

insert [into] <表名> [列名] values<列值>

insert into Students (姓名,性别,出生日期) values ('王伟华','','1983/6/15')

2.使用insert,select语句将现有表中的数据添加到已有的新表中

   语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>

例:insertinto addressList ('姓名','地址','电子邮件')selectname,address,email   from  Strdents

3.添加列语句-

alter table 表名  add (列名1 类型1,列名2 类型2,列名3 类型3,……)

二、删:有2中方法

1.使用delete删除数据某些数据

    语法:delete from <表名> [where <删除条件>]  

    例:delete from table1 where name='王伟华'(删除表a中列值为王伟华的行)

2.使用truncate table 删除整个表的数据但表的结构、列、约束、索引等不会被删除;

    语法:truncate table <表名>

   例:truncate tableaddressList

三、改 使用update更新修改数据        

    语法:update <表名>set <列名=更新值> [where <更新条件>]

例:update addressList set 年龄=18 where 姓名='王伟华'

set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

 

1.普通查询

    语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列名>[ascdesc]]

1).查询所有数据行和列

例:select* from a

说明:查询a表中所有行和

2).查询部分行列--条件查询

例:selecti,j,k   from  a   where f=5

说明:查询表af=5的所有行,并显示i,j,k3列

3).在查询中使用AS更改列名

例:selectname as 姓名 from awhere  gender=''

说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

4).查询空行

例:selectname from a where email is null

说明:查询表aemail为空的所有行,并显示name列;SQL语句中用is null或者is not null来判断是否为空行

5).在查询中使用常量

例:selectname '北京' as 地址 froma

说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

6).查询返回限制行数(关键字:top )

例1:selecttop 6 name from a

说明:查询表a,显示列name的前6行,top为关键字(Oracle 中没有top关键字用rownum替代)

                         select   *   from   a where  rownum<6  

7).查询排序(关键字:order by , asc , desc

例:selectname

from a

wheregrade>=60

orderby desc

说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

2.模糊查询

1).使用like进行模糊查询

注意:like运算副只用语字符串,

例:select * from a where name like '赵%'

说明:查询显示表a中,name字段第一个字为赵的记录

2).使用between在某个范围内进行查询

例:select * from a where age between 18 and 20

说明:查询显示表a中年龄在18到20之间的记录

  3).使用in在列举值内进行查询(in后是多个的数据)

        例:select name from a where address in ('北京','上海','唐山')

说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段

3.分组查询

1).使用group by进行分组查询

例:selectstudentID as 学员编号, AVG(score) as 平均成绩 (注:这里的score是列名)

fromscore (注释:这里的score是表名)

groupby studentID

2).使用having子句进行分组筛选

例:selectstudentID as 学员编号, AVG(score) as 平均成绩

fromscore

groupby studentID

havingcount(score)>1

说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组时使用,分组后只能使用having来限制条件,

(2)、CPU 和 GPU的区别

形象化一点:cpu 就像公司里的高级工程师,能干很多复杂任务和简单任务,但他精力有限,单位时间内干的很少;GPU是流水线上的工人,只会干简单的事情,但是效率特别高。

CPUGPU其设计目标的不同,针对不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。

GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。GPU只有简单的控制单元,省去了Cache。(1)计算密集型的程序。(2)易于并行的程序。

(3)、推荐的算法有哪些

基于内容的推荐算法:喜欢哈波特I,给推荐II,或者根据职业地址等推荐。

协同过滤推荐算法:需要通过用户行为来计算出用户或者物品间的相关性比如你的朋友喜欢电影哈利波特I,那么就会推荐给你,这是最简单的基于用户的协同过滤算法。还有基于Item的协同过滤算法,期间经历聚类SVD等训练完成,推荐过程较快。

基于知识的推荐算法:类似内容推荐吧

(4)、协同过滤怎么实现的?

寻找偏好相似的用户(聚类算法,欧几里得距离、相似度等)->为相似的用户提供推荐物品(加权排序法)

基于物品的协同过滤(简单来说就是如果用户A同时购买了商品1和商品2,那么说明商品1和商品2的相关度较高。当用户B也购买了商品1时,可以推断他也有购买商品2的需求。)寻找相似物品->基于此对用户推荐。

(5)、熟悉的Linux命令,查看磁盘空间的命令,如何找到一个文件中含有aaa 和 bbb和行

1. linux 中查看监听网络端口命令

netstat - a 

2. morecat的区别

cat查看文件内容 
more分页查看文件的内容

3. linux 改密码命令 

passwd

4. 改权限命令

chmod

5. 如何结束一个进程?kill-9kill -11的区别——美团

kill命令。kill命令是通过发送信号给进程达到中断的目的。

kill -9发送的信号是:sigkill,相当于exit不能被捕捉或忽略,所以会立即杀死进程

kill -11:发送的信号是:sigterm,当进程接受到这个信号后,大部分会释放自己的资源,然后再停止。但是有一部分,接收到信号以后,可以不立即停止,例如如果正在等待IO,则不会立即作出响应。所以sigterm信号会被阻塞、忽略。

6. 在性能测试中,你有用到什么命令?——美团

pstopfree查看进程使用情况,kill杀死进程

iostat查看CUP和各设备IO使用率

vmstat查看内存使用情况

7. 查看磁盘空间的命令

du查看文件目录大小 du -h
df查看磁盘使用情况 df –h        df  ---- disk find  
   -h 带有大小单位

8. 如何找到一个文件中含有aaa bbb和行

https://www.cnblogs.com/lesleysbw/p/6388026.html?utm_source=itdadao&utm_medium=referral

grep'aaa' *.txt|xargsgrep'bbb'   
 
grep:强大的过滤,不同于find  Global Regular Expression Print全局正则表达式版本
xargs: extended arguments,给命令传递参数的一个过滤器,也是组合多个命令的一个工具。

https://blog.csdn.net/achenyuan/article/details/78674102

(6)、白盒和黑盒测试的方法有哪些

黑盒测试的测试方法有:等价类划分、边界值分析法、猜错法、随机数法、因果图。 

白盒测试的测试方法有:代码检查法、程序变异、静态结构分析法、静态质量度量法、符号测试法、逻辑覆盖法、域测试、Z路径覆盖和基本路径测试法。

(7)、如何测试一个三角形是否是一个等腰三角形,写出测试用

等价类划分:

边界值分析:

因果图:

(8)、Python实现字符串替换

略。

(9)、排序的算法以及时间复杂度

略。

(10)、如何分析两个词是否相似

机器学习的 对每个单词用相似向量?

(11)、给一个URL,如何判断一个含100万条不重复的URL的文件中是否有这个URL?

先用md5url进行编码,以此为keyurl存入哈希表里进行索引,就是一个建索引的快速查找问题,

(12)、对一个自动贩卖机进行功能测试

 

(13)、有50个红球,50个蓝球,如何放入两个盒子中使得拿到红球的概率最大 都放到一个篮子里?

(14)、有5个强盗分100枚金币,从1号开始进行分配,必须有半数服从分配才通过,否则1被毙掉,由2号开始分,问1号要怎样分才能使自己利益最大化?

倒序分析。

自己98, 3号1个,5号1个。

{4,5}{100,0},所以5会在3分的时候投赞成票只要3给他分一枚,所以{3,4,5}{99,0,1}就可以,故4肯定会在2时候投反对票,有半数起作用2不会被干死,{2,3,4,5}{99,0,1,0};3,5肯定不干,那为了保证自己有一枚金币,那么会在1分配时投赞成票,只要1给他们各一个,所以{1,2,3,4,5}{98,0,1,0,1}

(15)、数据库知识:姓名,班级、课程名、分数,求语文分数最高的学生?求每个班语文成绩最高的学生?

一、显示每个地区的总人口数和总面积.
SELECT region, SUM(population), SUM(area) FROMbbc GROUP BY region

二、显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。

SELECT region, SUM(population), SUM(area)
FROM bbc
GROUP BY region
HAVING SUM(area)>1000000

selectname

fromstudent

wheresubject = ‘语文’

order by score desc limit 1

selectname

from(select name ,max(score)as score ,classID  from student where subject = ‘语文’ group by classID)  b

…………………………………………………

Selectname , max(score), subject

Fromstudent

Groupby subject

(16)、三次握手,每次发送的内容都是什么?

四次挥手的seq=u+1,是A已经不再向B发data了,不对 是本次发送的初始序号为u+1;

  • 序号seq:用于对字节流进行编号,例如序号为 301,表示第一个字节的编号为 301,如果携带的数据长度为 100 字节,那么下一个报文段的序号应为 401。
  • 确认号ack :期望收到的下一个报文段的序号。例如 B 正确收到 A 发送来的一个报文段,序号为 501,携带的数据长度为 200 字节,因此 B 期望下一个报文段的序号为 701,B 发送给 A 的确认报文段中确认号就为 701。
  • 数据偏移 :指的是数据部分距离报文段起始处的偏移量,实际上指的是首部的长度。
  • 确认 ACK :当 ACK=1 时确认号字段有效,否则无效,A第一次发送的连接请求ACK=0。TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1。
  • 同步 SYN :在连接建立时用来同步序号。当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1。
  • 终止 FIN :用来释放一个连接,当 FIN=1 时,表示此报文段的发送方的数据已发送完毕,并要求释放运输连接。
  • 窗口 :窗口值作为接收方让发送方设置其发送窗口的依据。之所以要有这个限制,是因为接收方的数据缓存空间是有限的。

(17)、socket编程

(18)、算法:判断一个字符串是否是回文,一个序列先增后减,求峰值

(19)、二分查找

(20)、堆排序

(21)、在字符串中求最长数字子序列的长度

(22)、连续子序列的最大和

序列不一定都为整数哦,如果是负数可能后面会有正数补偿也说不定

(23)、微信的发送消息功能的测试:功能测试(图片、文字(大段文字)、小视频、语音)是否发送顺利?数据有没有丢失?有没有延迟?一个人发了100遍同样的数据能否发送成功?群发功能。

 

(24)、性能测试(并发度,响应时间,系统资源占用)

 

 

(25)、压力测试

(26)、兼容性测试(硬件兼容和软件兼容)

(27)、考虑多端登录消息的同步。

 

 

(28)、画了三条线,如何判断这哪两条从视觉的角度上相似度高,降采样、拟合、连续求斜率、聚类等

(29)、给一组文件,用代码对其中数据每300ms降采样一次,如果300ms点不存在。则放弃往前查找150ms,如果不存在,则放弃该组数据。

(30)、百度搜索每天那么大访问量,将所有检索过的字条都存放下来,如何快速判断新search的词是否搜索过?

(31)、写一段代码比较字符串s1,s2是否字符和字符出现次数一样?

(32)、从测试的角度看百度地图的离线包下载功能,从哪些方面测试?

猜你喜欢

转载自blog.csdn.net/qq_33608638/article/details/80027987
今日推荐