百度一面

面试地点很豪华,星级酒店包了很多层楼。先集体到5楼等待,再单独分配到不同的楼层不同的房间去面试。每个面试官单独在一个房间,很安静,可以专心思考问题。面试官说话超级和气,交流很随心,不用半点约束。总的来说,整个面试还算顺利吧,也很荣幸,来面试的实在太多太多了,期望能过一面吧。(PS:后面真的过了….)

1.HTTP和HTTPS区别

  超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

2.HTTP有哪些请求方式?说说GET和POST的区别

HTTP请求的方法:

HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式

1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性

2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。

3、GET
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url

4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form

5、PUT
向指定资源位置上传其最新内容

6、DELETE
请求服务器删除Request-URL所标识的资源

7、TRACE
回显服务器收到的请求,主要用于测试或诊断

8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

注意:

1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。

2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。

3.冒泡排序,优化,手写

    public static void bubbleSort(int[] arr) {for (int i = 0; i < arr.length - 1; i++) {boolean flag = true;//设定一个标记,若为true,则表示此次循环没有进行交换,也就是待排序列已经有序,排序已然完成。for (int j = 0; j < arr.length - 1 - i; j++) {if (arr[j] > arr[j + 1]) {swap(arr,j,j+1);flag = false;}}if (flag) {break;}}}

4.打印出2-100的所有素数,优化,手写

5.安卓四大组件简单介绍

5.1 Activity-活动:

(1)、Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件,如单击、触摸事件。在界面上呈现形式为全屏窗体、非全屏悬浮窗体的对话框。

(2)、Activities是可执行的代码块,由用户或者操作系统来进行初始实例化,并在他们被需求时致以运行。

(3)、Activities可以与用户、请求数据或者其他Activity、Service的服务通过query或Intent进行交互。

(4)、对于一个Android应用程序而言,可以有一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户已经正常启动此Activity。当Activity不积极运行时,可以被Android系统终止已节省内存。

5.2 Service-服务:

(1)、Service用于没有用户界面,但需要长时间在后台运行的应用。Service有点类似于桌面应用或者服务器操作系统上的服务和守护进程。

(2)、Service是在后台运行的可执行的代码块,从它被初始化一直运行到此程序关闭。

(3)、Service最经典的一个例子是音乐播放器,尽管用户已经使用了其它的应用程序,但仍然需要持续播放音乐,比如在你听歌的时候,有人打个电话进来,此时音乐播放器的服务仍然子啊后台运行着,等你电话接完,音乐又会重新播放,在你接电话的时候是无音乐播放器的界面的,而程序一直执行Service来实现后台任务。

5.3 BroadcastReceiver-广播接收器

(1)、Broadcast和Intent Receivers对从其他的应用程序的服务请求做出一个全系统广播的响应,这些广播响应可能来自于Android系统本身或者是任何在其系统上运行的程序。

(2)、BroadcaseReceiver是用来接受并响应广播消息的组件。

(3)、BroadcaseReceiver不包含任何用户界面,但可以通过启动Activity或者Notification消息通知栏通知用户接收到重要信息。

(4)、Activity或Service通过执行一个IntentReceiver 为其他应用程序提供了访问其功能的功能。Intent Receiver是一段可执行代码块,对其他Activity的数据或服务请求做出响应。请求的Activity(客户端)生成一个Intent,把其添加至Android Framework中,来指出哪些应用程序(目标程序)接收并对其做出响应。

(5)、Intent是Android的主要构成元素之一,它从现有的应用程序中创造新的应用程序。Intent实现了应用程序和其他的应用程序和服务交换所需信息的功能。

5.4 ContentProvider-内容提供器:

(1)、ContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过ContentProvider来访问其他应用程序的私有数据(私有数据可以是存储在文件系统中的文件,也可以是SQLite中的数据库)。
(2)、Android系统内部也提供一些内置的ContentProvider,能够为应用程序提供重要的数据信息。

6. ContentProvider底层是怎么实现的?

7. 进程和线程区别

1.定义

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

2.关系

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

3.区别

进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

1) 简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

2) 线程的划分尺度小于进程,使得多线程程序的并发性高。

3) 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

4) 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

5) 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

4.优缺点

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

8.安卓下如何新建一个进程,如何新建一个线程,有几种方式?

9.咦,听说你有博客和github,地址拿出来,我看看。看的同时叫我自我介绍。

10.听说你写过几个小项目,简单说说。

答案参考链接:

链接1

2018 秋招 百度一面相关推荐

  1. 2018 秋招 百度二轮面试---血淋淋的经历写实

    2017 秋招 百度二轮面试-血淋淋的经历写实 一名自信向上的良好青年,参加百度面试被面试官按在地板来回摩擦~(不知是哪位好汉说的,借用一下) 简单回顾一下,下午的经历吧 下午百度二面对话大概是这样的 ...

  2. 2018秋招百度Java后台开发面经

    9月17日百度公司的一面,百度公司的面试官还是很厉害的,我跟另外一个同学是同一个面试官,面的同一个岗位,面试官的问题居然没有一个重样的.虽然没有进入二面,但是体验还是不错的,小哥哥不仅技术能力很强,人 ...

  3. java笔试题_公司真题 | 用友2018秋招Java笔试题(四)

    公司真题 | 用友2018秋招Java笔试题(三)答案: 1.正确答案 A B 2.正确答案 A 3.正确答案 D 4.正确答案 B 5.正确答案 A E 6.正确答案 B 7.正确答案 C D 8. ...

  4. 2018深信服java笔试题,深信服2018秋招编程题

    深信服2018秋招编程题 深信服2018秋招编程题 第一题: 其中,reverse函数的代码实现如下: 1. unsigned int reverse(unsigned int num) { unsi ...

  5. 腾讯2018秋招笔试真题(2)

    腾讯2018秋招笔试真题 3.画家小Q [题目描述]画家小 Q 又开始他的艺术创作.小 Q 拿出了一块有 NxM 像素格的画板, 画板初始状态是空白 的,用'X'表示. 小 Q 有他独特的绘画技巧,每 ...

  6. 腾讯2018秋招笔试真题(1)

    腾讯2018秋招笔试真题 小Q的歌单 [题目描述]小 Q 有 X 首长度为 A 的不同的歌和 Y 首长度为 B 的不同的歌,现在小 Q 想用这些歌组成一个 总长度正好为 K 的歌单,每首歌最多只能在歌 ...

  7. 【转】2018秋招面经

    京东广告数据部-机器学习面经 源:2018.8.2苍蝇哥分享资料 <笔试+面经>-><2018最新面经合集>->京东-> <机器学习算法面经-2018秋 ...

  8. 腾讯2018秋招笔试真题——安排机器

    本文参考自腾讯2018秋招笔试真题--安排机器 查看原文: 原文地址 题目描述:小Q的公司最近接到m个任务,第i个任务需要Xi的时间去完成,难度等级为yi.                 小Q拥有n ...

  9. 深信服 一面 2018 秋招

    深信服 一面 2018 秋招 1.自我介绍 2.计算一个文件的大小 java 方式:File f= new File("D:\\CentOS-6.5-x86_64-bin-DVD1.iso& ...

最新文章

  1. 16个Linux服务器监控命令
  2. struts2 防止表单重复提交--令牌机制
  3. Centos双节点搭建openstack无法使用ssh链接到实例解决办法
  4. 中国人民银行:关于防范代币发行融资风险的公告
  5. dvd刻录软件_如何在Windows 7中刻录照片和视频DVD(无需额外的软件)
  6. php动态页面加载慢,通过动态加载JS文件提升网站访问速度
  7. c语言time_t转oletime,DateTimeFormatter可以格式化日期,但不能读取它自己的格式
  8. MongoDB分布式集群分片
  9. 基于社交心理过程满足的LBS社交应用研究
  10. JVM优化系列-String对象在虚拟机中的实现
  11. CFS调度主要代码分析二
  12. 【故障处理】ORA-12162: TNS:net service name is incorrectly specified
  13. Shader学习12——简易图片叠加
  14. Android异常之SIGABRT
  15. 七个习惯让你免费学好英语
  16. 苹果VS谷歌,开战了?
  17. Android应用权限大全(Manifest.permission)
  18. 山东大学 计算机人工智能2019级 认知科学与类脑计算 期末考试
  19. 使用git 提交本地文件夹及文件
  20. ES20-JAVA API 词项搜索

热门文章

  1. 云计算学习日志-第2周-2-linux文件管理3
  2. 第八章数组和矩阵问题(一)
  3. 下载网页视频并自动转码为mp4
  4. java 输出验证码_输出 验证码图片
  5. python干货_python干货三例(需基础) ​​​​
  6. [c++]查找二叉树根节点到任意结点的路径
  7. 计算机网络通信主要特点,数字通信网络的主要特征是什么
  8. 几张图看懂区块链技术到底是什么?
  9. 企业外贸站数码科技外贸公司网站源码英文外贸企业站
  10. U880 root 教程 android root