`
Z_萧晓
  • 浏览: 11059 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

刷题笔记 | 京东2019秋招Android工程师笔试20+题

阅读更多

这是一份京东秋招的面试笔试题试卷,快来看看你能答对多少吧~

差不多每一题后面都列出了相关的知识点,还有相关的具体的文章帮助你们更好的理解知识点。文末还会有大量我收集整理出来的BAT面试题PDF免费分享,领取方式见文末。

1.

知识点:Java只能直接继承自一个父类,即只支持单重继承,而可以实现多个接口。

2.

知识点:

  • Java创建线程有三种方式:
    1.继承 Thread 类,重写 run() 方法;
    2.实现 Runable 接口,重写 run() 方法;
    3.使用Callable和Future接口创建线程。
    参考:java 多线程总结(一) 创建线程的几种方法及对终止线程运行的讨论

  • 线程间通信所使用的方法wait , notify , notifyAll 是Object类提供的方法:

    1. wait(): 将当前线程加入到等待队列中,等待其他线程调用notify或者notifyAll来唤醒。

    2. notify(): 唤醒在等待队列中等待的单个线程. 如果多个线程都是在等待队列中等待, 则随机唤醒一个.

    3. notifyAll(): 唤醒所有在等待队列中等待的所有线程。

关于第二个选项后续补充

3.

知识点:

onSaveInstanceState()方法只有在activity异常终止(如:屏幕旋转)时才会调用。当Activity异常终止时,系统会调用onSaveInstanceState()方法来保存当前Activity的状态(调用发生在onStop() 之前);当Activity被重建之后,系统调用onRestoreInstanceState()方法来恢复Activity的状态(调用发生在onStart()之后)。

4.

知识点:

Activity被强制关闭(即异常情况下),系统会自动调用onSaveInstanceState()方法和onRestoreInstanceState()方法,保存和恢复UI状态。

5.

知识点:

进程死锁:如果多个进程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步。

题目分析:

要保证无论如何都不发生死锁,就要从极端情况考虑:当四个并发进程都占有了4个资源时,再加上一个资源,就能保证至少有一个进程可以获得5个资源,从而保证不会发生死锁。即:4*4+1=17个。

6.

图片描述

参考博客:tcp关闭状态详解

图片描述

7.

图片描述

题目分析:

常规思路分析的话,可以从最后一个入栈元素入手,分以下情况讨论:

  1. 4××× 若最后一个元素第一个出栈,说明前面入栈的元素都没有出栈,所以只有一种出栈序列:4321。

  2. ×4×× 若最后一个元素第二个出栈,说明前面入栈的元素有两个没有出栈,并且其出栈顺序固定,所以有三种出栈序列:1432,2431,3421。

  3. ××4× 若最后一个元素第三个出栈,则其前面出栈的两个元素顺序不定,所以有6种出栈序列:1243,2143,1342,3142,2341,3241。

  4. ×××4 若最后一个元素最后出栈,即最后一个元素对前三个元素的入栈和出栈没有任何影响,那么就可以用这个思路对 123 这个序列进行分析,将3作为最后一个入栈的元素,依次类推。有三种出栈序列:3214,2314,1234,2134。

特别说明:题目满足卡特兰数

8.

图片描述

答案有争论,后续整理更新

9.

图片描述

知识点:^ 会匹配行或者字符串的起始位置;[^] 表示不接受该字符集合;
    + 表示重复1次及以上(1~n);
    * 表示重复0次及以上(0~n);
    ? 表示重复0次或1次;

题目分析:

^d表示以 d 开头,d+ 表示d重复至少一次,1 +表示任意不含d的字符串。

10.

图片描述

题目分析:

第一次查找 (0+10)/2 = 5 下标为5的数:50<90;
第二次查找(6+10)/2=8 下标为8的数:90 。

11.

图片描述

题目分析:

根据前序遍历(中左右)序列可知,A为根节点,接下来看中序遍历(左中右)序列,则DBGE为左子树,CHF为右子书;接下来,看左子树的前序遍历序列:BDEG,所以左子树的根节点为B,那么左子树的左孩子和右子树分别为D和GE;接着看右子书的前序遍历序列:CFH,所以右子书的根节点为C,那么右子树的右子树为FH;以此类推即可得该二叉树。

12.

图片描述

知识点:

FileInputStream和FileOutputStream可以对文件进行读写;BufferReader和BufferWriter带缓存,也可以对文件进行读写。

13.

图片描述

知识点:

Last-Modified 标示这个响应资源的最后修改时间。
Etag web服务器响应请求时,告诉浏览器当前资源在服务器的唯一标识。

14.

图片描述

知识点: between 关键字是一个闭区间。

< <
<= <=
> >
>= >=

15.

图片描述

图片描述

16.

图片描述

知识点:shell函数在调用时直接写函数名,不带括号。

参考博客:shell中函数的定义和使用

17.

图片描述

知识点:

awk用法:awk 'BEGIN{执行前语句}{每一行执行的语句}END{所有行执行完后执行的语句}'

实例:累加每行第一列数字
awk 'BEGIN{sum=0}{sum+=$1}END{print sum}'
也可以省略BEGIN

awk '{sum+=$1}END{print sum}'

18.

图片描述

知识点:

  1. GET请求提交参数有长度限制,而POST没有长度限制;

  2. POST方式比GET安全,因为GET方式所发送的数据是URL的一部分,而POST参数不会被保存在浏览器历史或web服务器日志中。

19.

图片描述

参考博客:Android事件拦截机制

20.

图片描述

知识点:

常用的布局优化方式有:

  1. 使用include标签实现布局重用,例如自定义的ToolBar;

  2. 使用merge标签减少不必要的嵌套,用于除去没有background等属性的外层FrameLayout;

  3. ViewStub标签实现延迟加载。

推荐一篇博客:一些你需要知道的布局优化技巧

21.

图片描述

参考博客:ANR问题总结

22.

图片描述

知识点:

  1. TCP是面向连接的,而UDP是无连接的;

  2. TCP提供可靠的服务,UDP尽最大努力交付,即不保证可靠交付;

  3. TCP只支持点对点,UDP支持一对一、一对多、多对多的交互通信;

23.

图片描述

图片描述

24.

图片描述

题目分析:

  1. C选项表示从表中查找有课程成绩大于80的学生姓名(不是所有课程成绩大于80);

  2. D选项表示查找最低分数大于80的学科(将 sub_name 改为 stu_name 即为正确)。

25.

图片描述

图片描述

题目分析:对于这个题,只需要知道静态块最先执行就可以得出答案。

测试博客:特地写了两个简单的类进行了测试

总结

有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。

BAT面试专题PDF+学习笔记:

为什么BAT资深开发者劝你早点离开小公司?

上述高清技术脑图以及配套的架构技术PDF加我wx:X1524478394 (或者技术qun:887084983)免费领取

专注分享大型Bat面试知识,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~

分享到:
评论

相关推荐

    labuladong的算法秘籍+刷题笔记V2.0

    《labuladong的算法秘籍+刷题笔记V2.0》是针对计算机程序员面试和技能提升的一份宝贵资源,特别关注于刷题、算法和数据结构的学习。这套资料包含两部分:《labuladong的刷题笔记V2.0(力扣版).pdf》和《labuladong的...

    代码随想录+刷题笔记记录

    代码随想录是一个致力于帮助程序员提高编程能力的网站,提供了大量的题目和解题思路供学习和参考。本文主要介绍代码随想录的刷题笔记记录,方便读者更好地利用该...刷题笔记是指在刷题的过程中记录下来的笔记,包括题

    谷歌大佬刷题笔记.zip

    谷歌大佬刷题笔记

    力扣500题刷题笔记1

    在力扣500题刷题笔记中,我们主要探讨了三个不同的问题,分别是:29. 两数相除、36. 有效的数独和38. 外观数列。这些问题涉及到的主要知识点包括整数除法的实现、有效的数独判断以及序列生成算法。 1. **两数相除**...

    LeetCode 刷题笔记 with Java.zip

    《LeetCode刷题笔记withJava》是一份专为Java开发者准备的算法实战指南,涵盖了LeetCode网站上前一百道编程挑战题目。这份资料旨在帮助程序员提升算法能力,掌握数据结构和问题解决技巧,对于准备面试或者想要提升...

    202003-202009秋招刷题笔记.doc

    文档标题和描述中提到的是2020年春季招聘期间的刷题笔记,重点在于算法题目和解题策略。从标签“刷题”可以看出,这是一份关于准备面试和提升编程技能的资料。以下是根据部分内容提炼出的一些核心知识点: 1. **双...

    基于C++的笔试面试题及 C++的刷题笔记

    【作品名称】:基于C++的笔试面试题及 C++的刷题笔记 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于C++的笔试...

    谷歌高畅Leetcode刷题笔记.pdf

    在IT行业中,LeetCode是软件工程师们备战技术面试的常用平台。这本书名为《LeetCode101:和你一起你轻松刷题(C++)》的电子书,作者高畅ChangGao,旨在帮助有C++基础但缺乏刷题经验的读者。本文将详细阐述该电子书...

    力扣500题刷题笔记10

    力扣题目500题中的第10题主要涉及了...总结来说,力扣500题刷题笔记10主要涉及了图论中的拓扑排序,用于解决课程表问题,判断是否能按照依赖关系完成所有课程的学习。这个问题的关键在于理解和正确实现拓扑排序算法。

    LeetCode刷题笔记.rar

    《LeetCode刷题笔记》是针对LeetCode这个在线编程挑战平台的个人学习心得与总结,主要涵盖数据结构和算法两大核心领域。LeetCode是一个全球知名的编程训练网站,它提供了丰富的编程题目,帮助开发者提升编程技能,...

    labuladong的刷题笔记V1.7(力扣版)

    【labuladong的刷题笔记V1.7(力扣版)】是一份全面的算法练习资源,涵盖了从基础...这些知识点是编程竞赛和面试中常见的挑战,通过labuladong的刷题笔记,可以系统地学习和实践这些算法,提高编程技能和问题解决能力。

    LeetCodeNotebook:自用力扣刷题笔记| https:leetcode-cn.com

    LeetCodeNotebook(自用力扣刷题笔记)来源: CPP学习参考: 内容: #译文艰难解答尖端去做斑点— — — — — 1313简单 -- 1431简单 max_element() , min_element() -- 1470简单 push_back() , emplace_back() -...

    2009网络工程师模拟试题+英语+笔记+配置

    2009网络工程师模拟试题+英语+笔记+配置 2009网络工程师模拟试题+英语+笔记+配置

    谷歌和阿里大佬的Leetcode刷题笔记.zip

    《谷歌和阿里大佬Leetcode刷题笔记》是一个珍贵的学习资源,专为提升算法能力和准备面试设计。LeetCode是一个在线平台,提供了大量的编程题目,旨在帮助程序员提升算法技能,特别是对于那些希望进入顶级科技公司如...

    可供参考的刷题笔记.zip

    首先,BAT霜神Leetcode刷题笔记很可能是一位来自BAT(即百度、阿里巴巴、腾讯)的工程师所编写的个人刷题心得。这份笔记可能详细记录了他在解决LeetCode题目过程中总结的解题思路、常见陷阱以及优化方法。通过阅读...

    Java《剑指Offer》刷题笔记.zip

    这份压缩包“Java《剑指Offer》刷题笔记.zip”显然包含了作者在阅读并实践这本书籍中的题目时所做的笔记。文件“note-coding-main”可能是笔记的主要内容目录或代码实现的存储位置。 以下是对Java《剑指Offer》中...

    算法与数据结构笔记+leetcode刷题笔记+大厂面试算法题(golang和java实现).zip

    这份压缩包文件“算法与数据结构笔记+leetcode刷题笔记+大厂面试算法题(golang和java实现).zip”包含了一系列关于算法、数据结构、LeetCode刷题以及Go和Java语言在解决面试问题中的应用。以下是这些主题的详细讨论...

    202003-20209秋招刷题STL笔记.xls

    202003-20209秋招刷题STL笔记.xls

    Android开发教程+笔记 Android开发教程+笔记

    Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发...

    力扣题库刷题笔记36-有效的数独

    力扣题库刷题笔记36-有效的数独

Global site tag (gtag.js) - Google Analytics