360笔试题(3.29)

Posted 酷叮喵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了360笔试题(3.29)相关的知识,希望对你有一定的参考价值。

真是被360弄醉了,这是我第一次见到这么详细又复杂的能力基础题(一堆逻辑思维,找规律的数字题,图形题,之前还有判断性格的很多题。。)
除此之外,无论是能力基础还是技术题都时间不够用,有1/3的android控件使用,1/3的c/c++的输出结果,1/4的java输出和java出错可能(try,catch和finish的执行顺序;实现接口要不要把父类的所有方法都实例化;)
-------------无聊分割线----------
真是被360弄醉了,这是我第一次见到这么详细又复杂的能力基础题(一堆逻辑思维,找规律的数字题,图形题,之前还有判断性格的很多题。。)
除此之外,无论是能力基础还是技术题都时间不够用,有1/3的android控件使用,1/3的c/c++的输出结果,1/4的java输出和java出错可能(try,catch和finish的执行顺序;实现接口要把父类的所有方法都实例化!)

1、android:handler在消息传递时的流程,用到looper吗?(用得到)


http://blog.csdn.net/coder_pig/article/details/46997945 有handler相关方法和使用实例
2、获取手机键盘按下的时间onkeydown
3、(linux)/etc/fstab文件文件能看到文件系统类型、文件系统名,文件系统大小,被fsck检查文件顺序(除了大小不行,其他都可以)
/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过mount /directoryname命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开

fs_spec - 加载的文件系统所在的设备或远程文件系统,
fs_file - 文件系统加载的目录点
fs_type - 该设备上的文件系统类型
http://www.jb51.net/os/other/73134.html
4、xml解析器:sax和dom(去查原理和基于事件的为遇到)
SAX解析器(Simple API for XML),其实解析器就是对XML进行处理的一套API,相当于一个模块。SAX解析器是基于事件处理的,需要从头到尾把XML文档扫描一遍,在扫描的过程中,每次遇到一个语法结构时,就会调用这个特定语法结构的事件处理程序,向应用程序发送一个事件。

DOM是文档对象模型解析,构建文档的分层语法结构,在内存中建立DOM树,DOM树的节点以对象的形式来标识,文档解析文成以后,文档的整个DOM树都会放在内存中。
DOM的优点:
1. 当文档的某一部分被多次的访问时,非常方便。
2. 需要对文档进行调整或者一次性的访问整个文档。
3. DOM可以随时的访问文档中的某个部分。
4. 可以避免一些无效的操作。
DOM结构是完全的存储在内存中的,所以如果文档较大的话,会占用大量的内存。

因为XML文档没有大小限制,所以一些文档可能就不能以DOM方式读取,SAX解析则不存在这样的问题,并且SAX解析的速度要比DOM快一些。
5、share preference保存目录:\\data\\data\\\\shared_prefs\\目录下面
6、contentprovider和uri详解;contentprovider的内容;能否通过不同的contentprovider接口访问某个接口(不能)
ContentProvider作用是对外共享数据,你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。数据共享,通过指定文件的操作模式为Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE同样也可以对外共享数据
   无论数据的来源是什么,ContentProvider都会认为是一种表,然后把数据组织成表格。每个ContentProvider都有一个公共的URI,这个URI用于表示这个ContentProvider所提供的数据。Android所提供的ContentProvider都存放在android.provider包当中ContentProvider为存储和获取数据提供了统一的接口。ContentProvide对数据进行封装,不用关心数据存储的细节。使用表的形式来组织数据。
UriMatcher类用于匹配Uri,ContentUris类用于操作Uri路径后面的ID部分
http://www.2cto.com/kf/201404/296974.html 具体操作
7、android用alarmmanager实现闹钟
8、合法实数c语言(e前面是整数,后面是整数,后面不能为空)
http://zhidao.baidu.com/link?url=IQDSDatknZ2IA6Ua2GFe2Q2aWUWIJ5XRBumoRz2H1GTMJhDPAVHmXRsEyCDmvqxqitwtFHdyJ9nGWbTlm37oW2hN9P6uG_0z31EuN47rwNO
9、在linux下使用命令行加载usb磁盘(mount加载,umount取出)
10、基数排序LSD和MSD
基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。

LSD:根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中;将这些桶子中的数值重新串接起来,接着再进行一次分配,这次是根据十位数来分配;持续进行以上的动作直至最高位数为止,适用于位数小的数列,如果位数多的话,使用马上到!的效率会比较好。MSD的方式与LSD相反,是由高位数为基底开始进行分配,但在分配之后并不马上合并回一个数组中,而是在每个“桶子”中建立“子桶”,将每个桶子中的数值按照下一数位的值分配到“子桶”中。在进行完最低位数的分配后再合并回单一的数组中。

MSD:(用递归实现)比如现在有13,23,12,22,11这五个数。你先为高位排序,就相当于把十位为1的分在一个桶1里(13,12,11),十位为2的分在一个桶2(22,23)里。然后在桶1和桶2之中剩下的元素排序((11),(12),(13))和((22),(23))。这样如果有很多位数,桶就很多。但是从最低位开始排就只需要10个桶,每移动一位,就用针对那一位排序(把元素扔进桶里)。所以不会占用大量的桶。所以,低位排序优于高位排序。

11、AVL树和平衡二叉树,ll,lr,rr旋转
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/24/2606718.html
12、贪心法(局部最优解)能解决(除了n皇后问题(回溯法))最小生成树、背包问题,最短路径问题
13、哈希排序,http://blog.sina.com.cn/s/blog_54573df10101qpoz.html
解决冲突的方法:http://www.nowamagic.net/academy/detail/3008050
(另一个面试题:http://blog.csdn.net/tianxiajianling/article/details/7550678
14、public,private,protected,不写的参数区别
http://blog.chinaunix.net/uid-20554039-id-4831051.html

以上是关于360笔试题(3.29)的主要内容,如果未能解决你的问题,请参考以下文章

360笔试题

<转>2016暑假实习360笔试题

算法题 119:完全二叉树的节点数(360笔试题)

奇虎360 2017校招笔试题

2017美团&网易&360部分笔试题

数值游戏(360 2016实习生招聘笔试题)