学姐百度实习面经(轻松拿offer)

本系列历史文章:

学姐,来挑战字节最牛部门

最强阿里巴巴历年经典面试题汇总:C++研发岗

关于我的那些面经——百度后端(附答案)

《关于我的那些面经》滴滴Java岗(附答案)

朋友面神策数据库,第五个问题不会,直接再见

美女学姐面了美团阿里京东,这些经验实在太真实了

学姐腾讯产品面经

学姐总结奇安信18k常问面试题

 这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦

 

1、测试环境搭建过程

2、  验证环境部署是否成功时 跑测试用例 接口是什么样的?(服务对外提供的调用接口)

3、  数据库 表 有个字段 name字段 name=liuguoge 唯一标识id=3 修改name=guogeliu

update user set name=guogeliu where id=3;

4、写链表翻转(说思路,代码中每一行的作用)

public ListNode ReverseList(ListNode head) {

       //当前节点是head,pre为当前节点的前一节点,next为当前节点的下一节点

        if(head==null)return null;

        ListNode pre = null;

        ListNode next = null;

        while(head!=null){

            //先用next保存head的下一个节点的信息

            next = head.next;

            //保存完next,就可以让head从指向next变成指向pre了

            head.next = pre;

            //让pre,head,next依次向后移动一个节点,继续下一次的指针反转

            pre = head;

            head = next;

        }

        //head为null,反转完毕,pre就是反转后链表的第一个节点

        return pre;

    }

5、 Scp和wget区别

curl是libcurl这个库支持的,wget是一个纯粹的命令行命令。

curl支持更多的协议。

curl 支持FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE,

Wget 支持HTTP, HTTPS and FTP.

curl 默认支持HTTP1.1(也支持1.0),而wget仅仅支持HTTP1.0规范。

4.curl在指定要下载的链接时能够支持URL的序列或集合,而wget则不能这样;

5.wget支持递归下载,而curl则没有这个功能。

7、  重载与重写区别

定义区别:

①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。

②覆盖(也叫重写)是指在派生类中重新对基类中的虚函数重新实现。即函数名和参数都一样,只是函数的实现体不一样。

类的关系区别

覆盖是子类和父类之间的关系,垂直关系;重载是同一个类中方法之间的关系,水平关系。

3.产生方法区别

覆盖只能由一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。

4.参数列表要求区别

覆盖要求参数列表相同;重载要求参数列表不同。

5.调用方法区别

覆盖关系中,调用方法体是根据对象的类型来决定;而重载关系是根据调用时的实参表与形参表来选择方法体的。

 

1、介绍实习经历

2、  测试环境的检查(接口测试)

3、  写代码:奇数在前,偶数在后

private static void fun(int[] arr) {

    if (arr.length == 0)return;

    int front = 0,end = arr.length-1;//设置两个指针,一个指向头部,一个指向尾部

while (front < end){

       //从前往后找偶数

        while (front < arr.length && arr[front]%2 == 1) front++;

              //从后往前找奇数

        while (end >= 0 && arr[end]%2 == 0)end--;

        //将前面的偶数与后面奇数交换位置

if (front < end){

            int temp = arr[front];

            arr[front] = arr[end];

            arr[end] = temp;

        }

    }

}

 

 

如何判断bug前后端?

前端的问题:

在用户输入数据后,发送的请求没有带数据或者数据错误。

后台已经传回了数据,但在前端显示不出来。

后端的问题:

       接受请求后,存储/修改错误(查看数据库)

       返回数据错误

 

抓包工具来进行分析

通过请求与响应来判断。

1.请求接口url是否正确

如果请求的接口url错误,为前端的bug

2.传参是否正确

如果传参不正确,为前端的bug

3请求接口url和传参都正确,查看响应是否正确

如果响应内容不正确,为后端bug

4,后端bug需要查看 服务器的log日志

 

 

  1. tcp和udp区别

  1. 如何抓包

3.一个真实的测试场景,问如何排查问题

4.黑盒测试和白盒测试和灰盒测试区别以及都有什么方法

黑盒:只关注输出的正确性

白盒:了解程序内部逻辑结构、对所有逻辑路径进行测试。

灰盒测试,介于二者之间的,关注输出的正确性,同时也关注内部表现。

 

方法:

黑盒:等价类划分、边值分析、因—果图、错误推测等

白盒:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、路径覆盖

 

 

三次握手

第一次:发送请求

第二次:告诉对方受到了请求并同意

第三次:告诉对方收到了你的同意,可以开始了。

 

为什么连接的时候是三次握手,关闭的时候却是四次握手?

 

因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。

但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

 

tcp为什么能稳定传输

[1] 确认和重传机制

建立连接时三次握手同步双方的“序列号 + 确认号 + 窗口大小信息”,是确认重传的基础,

传输过程中,如果Checksum校验失败、丢包或延时,发送端重传。

[2] 数据排序

TCP有专门的序列号SN字段,可提供数据re-order

[3] 流量控制

窗口和计时器的使用。TCP窗口中会指明双方能够发送接收的最大数据量

[4] 拥塞控制

TCP的拥塞控制由4个核心算法组成。

“慢启动”“拥塞避免”“快速重传 ”“快速恢复”

 

HTTP状态码分别表示啥

信息响应(100–199)

成功响应(200–299)

重定向(300–399)

客户端错误(400–499)

服务器错误 (500–599)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超硬核!兔兔阿里p7学长给的面试知识库

一个阿里p7学长给的nosql面试知识库&#xff0c;绝对真实&#xff0c;学会了去面呀。 最近整理了一下超硬核系列的文章和面经系列的文章&#xff0c;可以持续关注下&#xff1a; 超硬核系列历史文章&#xff1a;&#xff08;我保证每篇文章都有值得学习的地方&#xff0c;并…

Tomcat 6.0配置连建池的方式:

1.连接池的概念&#xff1a; JNDI解释:JNDI全称JavaNamingandDirectoryInterface(java命名和目录服务)用于定位查找服务对象。 2.使用连接池的优点(企业开发中常用) 3.在Tomcat6.0中配置连接池的步骤如下&#xff1a; (1).在tomcat/conf目录下找到context.xml文件&#xff0c;在…

FIX三天日记-FIX简介

由于作者还未在真实项目中实践&#xff0c;以下知识均限于学习&#xff0c;有些知识来源网络&#xff0c;不保证绝对准确。 一、FIX是什么&#xff1f; 是一个适用于实时证券和金融电子交易开发、不受单一实体控制的开放的数据通信标准&#xff0c;此协议能够被调整适用于任何…

FIX三天日记-quick fix简介

一、介绍 fix协议在上篇已经学习了&#xff0c;不再介绍。 QuickFIX是一款C实现的开源FIX引擎&#xff0c;同时提供Python等多种语言实现&#xff0c;具体看quickfix git地址 官网已经介绍如何编译quickfix、配置文件字段含义等等&#xff0c;我假设你可以看懂&#xff0c;用…

兔老大的系统设计(一)健康度系统

本系列用大白话&#xff0c;手把手带你实现上百个BAT公司内部真实的常用中型系统。评论抽奖送书 与培训班/营销号/忽悠人的低水平作者&#xff0c;不同的是&#xff1a; 保证听懂&#xff08;小白也可以&#xff0c;这是我的一贯风格&#xff0c;字典式小白式的输出&#xff0…

兔老大的系统设计(二)定时系统(延时队列)

之前文章&#xff1a; 兔老大的系统设计&#xff08;一&#xff09;健康度系统 一、背景 延迟队列的应用场景非常广泛&#xff0c;如客户主动操作&#xff1a; 股票定投顾客预约场景会员定时续费/缴费CSDN定时发布或系统内部操作&#xff1a; 订单成功后&#xff0c;在30分…

新鲜美团测试岗面经(带答案)

1、测试环境搭建过程 2、 验证环境部署是否成功时 跑测试用例 接口是什么样的&#xff1f;&#xff08;服务对外提供的调用接口&#xff09; 3、 数据库 表 有个字段 name字段 nameliuguoge 唯一标识id3 修改nameguogeliu update user set nameguogeliu where id3; 4、写…

如何实现Oracle数据库之间的数据同步?

我们都知道&#xff0c;在Oracle数据库的管理与开发工作中&#xff0c;总会存在着一些表数据和基础资料数据&#xff0c;这时需要有效的将这些数据库进行同步合并&#xff0c;有没有什么简单的方法可以实现Oracle数据库之间的数据同步呢&#xff1f;在此诚恺科技重庆服务器频道…

Linux简单命令收录(who,echo,date)【上】

shell严格区分输入命令的大小写&#xff0c;如who、Who和WHO是不同的&#xff0c;其中只有全小写——who是正确的Linux命令。 命令与选项和参数之间要用空格或制表符隔开。连续空格会被shell解释称单个空格。 选项&#xff1a;对命令的特殊定义&#xff0c;以“-”开始&#…

Linux简单命令收录(cal,passwd,clear)【下】

1、cal NAME cal - display a calendar 显示日历 SYNOPSIS cal [options] [[[day] month] year] cal [options] [timestamp|monthname] 用法&#xff1a; cal [选项] [[[日] 月] 年] cal [选项] <时间戳|月份名> OPTIONS -1…

操作系统中避免死锁的银行家算法【表面C++实际C语言】一学就废的菜鸡代码

文章目录银行家算法实验原理数据结构初始化输出资源分配量安全性算法银行家算法完整代码测试数据测试结果第一题第二题银行家算法 银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源&#xff0c;但系统在进行资源分配之前&#xff0c;应先…

GitHub 使用指南

目录切换分支删除已有文件只删除远程仓库中的文件&#xff0c;不删除本地仓库中的文件同时删除远程仓库和本地仓库中的文件提交文件git查看本地分支连接的是哪个远程分支切换分支 查看本地和远程所有分支 git branch -a当前本地分支为绿色&#xff0c;当前所在分支前带有“*”号…

一学就废的并查集它来了

文章目录题目描述输入输出样例输入样例输出提示算法思想代码实现寻找根节点汇总连接情况完整代码关于flag的初值题目描述 某省调查城镇交通状况&#xff0c;得到现有城镇道路统计表&#xff0c;表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城…

百战c++(2)

delete 和 delete []的真正区别 delete 对应 new delete[]对应new[]对于简单类型包括简单类型数组&#xff0c;delete 与delete[]没有区别。对于自定义类型数组&#xff0c;delete 只会删除一个元素&#xff0c;delete 则会删除所有元素。 指针和数组的区别 野指针是什么 野指…

Linux实验一:常用的Linux命令

文章目录一、实验目的二、实验要求三、实验内容1、系统的使用2、命令的使用3、文件操作4、系统询问与权限口令5、其它常用命令四、实验操作1、基本命令的使用2、文件和目录操作3、创建用户帐户一、实验目的 1、熟悉Linux的桌面环境&#xff1b; 2、了解Linux所安装的软件包 3、…

Linux实验二:vi编辑器的使用

文章目录一、实验目的二、实验要求三、实验内容1、创建文件2、编辑文件一、实验目的 1、练习并掌握Linux提供的vi编辑器来编译C程序 2、学会利用gcc、gdb编译、调试C程序 3、本次实验的目的是让同学们了解如何使用vi编辑器进行创建和编辑文件 二、实验要求 1、文件编辑器vi…

百战c++(os1)

Linux中的锁 互斥锁&#xff1a;mutex&#xff0c;用于保证在任何时刻&#xff0c;都只能有一个线程访问该对象。当获取锁操作失败时&#xff0c;线程会进入睡眠&#xff0c;等待锁释放时被唤醒 读写锁&#xff1a;rwlock&#xff0c;分为读锁和写锁。处于读操作时&#xff0…

Linux实验三:Shell编程

文章目录一、实验目的二、实验要求三、实验内容1、通配符的使用2、重定向3、管道4、shell变量5、建立下面的脚本&#xff0c;运行并分析输出结果&#xff0c;并给出代码注释。6、编写脚本一、实验目的 1.为文件扩展名使用通配符 2.标准输入、标准输出和标准错误的重定向 3.使…

Linux实验四:编译和调试工具的使用

文章目录一、实验目的&#xff1a;二、实验要求三、实验内容四、实验操作1、用gcc编译程序&#xff0c;写出编译过程&#xff0c;并给出运行结果。2、调试程序&#xff0c;要求用gdb进行调试并给出修改方案。3、make的使用一、实验目的&#xff1a; 1、练习并掌握Linux提供的v…

Linux实验五:Linux环境下的C语言编程

文章目录一、实验目的&#xff1a;二、实验要求三、实验内容1、编写一段C语言程序使其完成&#xff1a;父进程创建两个子进程&#xff0c;每个进程都在屏幕上显示自己的进程ID号。2、上机调试下面的程序&#xff0c;观察运行结果&#xff0c;分析原因。3、利用两个管道进行双向…