• 涨知识III - 百度2016校园招聘——移动软件研发工程师


     1.列关于线程调度的叙述中,错误的是()。

    正确答案 :BE

    A调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
    B调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
    C当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行
    D一个线程由于某些原因进入阻塞状态,会放弃CPU
    E具有相同优先级的多个线程的调度一定是分时的
    F分时调度模型是让所有线程轮流获得CPU使用权
    解析:sleep()方法会给其他线程运行的机会,而不管其他线程的优先级,因此会给较低优先级的线程运行的机会;yeild()方法只会给优先
      级相同的或者比自己高的线程运行的机会.
     

    2.以下描述正确的是( )

    正确答案 :A

    A命令 mknod pipe0 p创建管道,就是创建了一个名为pipe0,类型为p的文件
    B根文件系统和子文件系统的文件系统格式必须是相同的
    C目录若无写权限,则目录下所有文件禁止写
    Dpipe创建的管道的缺点是只限于同祖先进程间通信
    解析:创建 FIFO(已命名的管道) 
        mknod Name { p }  mknod 命令的第二种形式中,使用了 p 标志来创建 FIFO(已命名的管道)
     

    3.关于mysql_fetch_object说法中,正确的是(      )

     正确答案 :D

    Amysql_fetch_object和mysql_fetch_array一样,没什么区别
    Bmysql_fetch_object返回值是个对象,所以在速度上比mysql_fetch_array要慢
    Cmysql_fetch_object返回值是个数组,所以在速度上和mysql_fetch_array及mysql_fetch_row差不多
    Dmysql_tetch_object返回值是个对象,在速度上和mysql_fetch_array及mysql_fetch_row差不多
    注释:mysql_fetch_object() 与 mysql_fetch_array() 类似,只有一点区别 - 返回的是对象而不是数组。间接地,也意味着只能通过字段名来访问数组,而不是偏移量。PHP MySQL 函数
    定义和用法
    mysql_fetch_object() 函数从结果集(记录集)中取得一行作为对象。
    若成功的话,本函数从 mysql_query() 获得一行,并返回一个对象。如果失败或没有更多的行,则返回 false。
    语法

    4.小明设计了如下的学籍管理系统:

    已知关系:学籍(学号,学生姓名) PK=学号

    成绩(科目号,成绩,学号) PK=科目代码,FK=学号

    已有表记录如下,请给出能够插入的成绩记录 

    正确答案 :BD

    A(1,99,2)
    B(5,68,1)
    C(3,70,3)
    D(7,45,null)
     
    5.Which of the following statement(s) equal(s) value 1 in C programming language?

    正确答案 :BCD

    Athe return value of main function if program ends normally
    Breturn (7&1)
    Cchar *str="microsoft"; return str=="microsoft"
    Dreturn "microsoft"=="microsoft"
    ENone of the above
     
    6.关系模式R(a,b,c,d)中关系代数表达式σ3<‘4’(R)等价于SQL语句(      )

    正确答案 :C

     

    Aselect * from R where d<3
    Bselect * from R where
    Cselect c from R where c<4
    Dselect c,d from R having d<2解析:关系模式属于概率论范畴。σ代表选择操作。 σ3代表选择属性列中的第三列,value < 4的那些行。 这里‘4’代表value。不加‘’代表第四列。
     
    7.下面对category描述不正确的是()
    正确答案 :B
     
    Acategory可以添加新的方法
    Bcategory可以删除修改之前的方法
    C将类的实现分散到多个不同文件或多个不同框架中
    D创建对私有方法的前向引用
     
    8.In C++, which of the following keyword(s) can be used on both a variable and a function?

     正确答案 :ACE

    Astatic
    Bvirtual
    Cextern
    Dinline
    Econst
    解析:
    全局: 
    const,只读的全局变量,其值不可修改. 
    static,规定此全局变量只在当前模块(文件)中可见. 
    static const,既是只读的,又是只在当前模块中可见的. 
    文件: 
    文件指针可当作一个变量来看,与上面所说类似. 
    函数: 
    const,返回只读变量的函数. 
    static,规定此函数只在当前模块可见. 
    类: 
    const,一般不修饰类,(在VC6.0中试了一下,修饰类没啥作用) 
    static,C++中似乎没有静态类这个说法,一般还是拿类当特殊的变量来看.C#中有静态类的详细说明,且用法与普通类大不相同
     
    9.以下哪些不是链表的特征?

    正确答案 :ACD

    A数据在内存中一定是连续的
    B插入或删除时,无需移动其他元素
    C可以随机访问表内的元素
    D需要事先估计存储空间
     
    10.强制卸载已安装软件需要的参数(      )

    正确答案 :D

    Arpm -o --nodeps
    Brpm -I --oldpack
    Crpm -u --nodeps
    Drpm -e --nodeps
    解析:-e, --erase                       erase (uninstall) package
     
     
    11.关于BroadcastReceiver的说法不正确的是

    正确答案 :B

    A是用来接收广播Intent的
    B一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收
    C对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者
    D接收者声明的优先级别在< intent-filter >的android:priority属性中声明,数值越大优先级别越高
    解析:Android中BroadcastReceiver 广播 ! 当然大家都能接受到
     

    12.IPv6地址占____个字节

    正确答案 :D

    A4
    B6
    C8
    D16
     
    解析:IPv6的地址长度为128b,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。
     
     
    13.基于哈希的索引和基于树的索引有什么区别?

     正确答案 :ABCD

    Ahash索引仅满足“=”、“IN”和“<=>”查询,不能使用范围查询
    Bhash索引无法被用来进行数据的排序操作
    C对于组合索引,Hash 索引在计算 Hash 值的时候是组合索引键合并后再一起计算 Hash 值,而不是单独计算 Hash 值,所以通过组合索引的前面一个或几个索引键进行查询的时候,Hash 索引也无法被利用
    DHash 索引遇到大量Hash值相等的情况后性能并不一定就会比B-Tree索引高
     
    14.下列的模板说明中,正确的有( )

    正确答案 :AC

    Atemplate  < typename T1, typename T2 >
    Btemplate  < class T1, T2 > 
    Ctemplate  < class T1, class T2 > 
    Dtemplate  < typename T1; typename T2 > 
     
    15.Which Synchronization mechanism(s) is/are used to avoid race conditions among processes/threads in operating systems?

    正确答案 :AC

    您的答案 :AC

    AMutex
    BMailbox
    CSemaphore
    DLocal procedure call
     
    解析: Mutex互斥锁  Semaphore信号量 : 可以想象成停车场看门的老大爷,维护一个整形,用来表示资源状况。

    16.下面哪些机制可以用于进程间通信?

    正确答案 :ABE

    您的答案 :ABE

    ASocket
    BNamed pipe
    CNamed event
    DCritical Section
    EShared memory
    FVirtual memory
     
     
    17.下列选项哪些是正确的

    正确答案 :AD

    A对于unordered_map和map这两个容器,迭代器的有效性皆不受删除操作影响
    B对于unordered_map和map这两个容器,迭代器的有效性皆不受插入操作影响
    C为了保证代码的异常安全性,应该避免在构造函数中抛异常
    D为了保证代码的异常安全性,应该避免在析构函数中抛异常
    解析: STL map中有Erase()用来删除元素,删除后迭代器移动到删除元素的下一个,故不受影响。
     
     
    18.关于多线程和多进程编程,下面描述正确的是():

    正确答案 :ACD

    您的答案 :ACD

    A多进程里,子进程可获得父进程的所有堆和栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间
    B线程因为有自己的独立栈空间且共享数据,所有执行的开销相对较大,同时不利于资源管理和保护
    C线程的通信速度更快,切换更快,因为他们在同一地址空间内
    D线程使用公共变量/内存时需要使用同步机制,因为他们在同一地址空间内
    E因多线程里,每个子进程有自己的地址空间,因此相互之间通信时,线程不如进程灵活和方便
     
    19.选项中哪些是SQL的DML语句?

    正确答案 :BD + A !

    Aselect
    Binsert
    Calter
    Ddelete
    Ecreate
    解析:
    DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言
    1.CREATE - to create objects in the database 创建
    2.ALTER - alters the structure of the database 修改
    3.DROP - delete objects from the database 删除
    4.TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
    DML is Data Manipulation Language statements. Some examples:数据操作语言,SQL中处理数据等操作统称为数据操纵语言
    1.SELECT - retrieve data from the a database 查询
    2.INSERT - insert data into a table 添加
    3.UPDATE - updates existing data within a table 更新
    4.DELETE - deletes all records from a table, the space for the records remain 删除
    5.CALL - call a PL/SQL or Java subprogram
    6.EXPLAIN PLAN - explain access path to data 
    Oracle RDBMS执行每一条SQL语句,都必须经过Oracle优化器的评估。所以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语句有很大的帮助。Explain可以用来迅速方便地查出对于给定SQL语句中的查询数据是如何得到的即搜索路径(我们通常称为Access Path)。从而使我们选择最优的查询方式达到最大的优化效果。
    7.LOCK TABLE - control concurrency 锁,用于控制并发
    DCL is Data Control Language statements. Some examples:数据控制语言,用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等
    COMMIT - save work done 提交
    SAVEPOINT - identify a point in a transaction to which you can later roll back 保存点
    ROLLBACK - restore database to original since the last COMMIT 回滚
    SET TRANSACTION - Change transaction options like what rollback segment to use 设置当前事务的特性,它对后面的事务没有影响.

    20.NSRunLoop的以下描述错误的是()

    正确答案 :C

    ARunloop并不是由系统自动控制的
    B有3类对象可以被run loop监控:sources,timers,observers
    C线程是默认启动run loop的
    DNSTimer可手动添加到新建的NSRunLoop中
     
    解析:线程和 RunLoop 之间是一一对应的,其关系是保存在一个全局的 Dictionary 里。线程刚创建时并没有 RunLoop,如果你不主动获取,那它一直都不会有。RunLoop 的创建是发生在第一次获取时,RunLoop 的销毁是发生在线程结束时。你只能在一个线程的内部获取其 RunLoop(主线程除外)
     
     
    21.Which statement(s) is(are) correct about thread and process?Select all that apply.

    正确答案 :BD

    AThreads share the same address space of the parent process;Processes share the same address space of the parent process.
    BChanges to the main thread(cancellation,priority change,etc.) may affect the behavior of the other threads of the process;
    CChanges to the parent process does not affect child processes.  Multiple threads mar cause deadlock,while multiple processes won
    DThreads can directly communicate with other threads of its process;Processes must use inter-process communication to communicate with sibling processes.
    ENone of the above.
     
    解析:A:线程与父进程共享相同的地址空间 ; 进程与父进程共享相同的地址空间。
    fork之后exec之前两个进程用的是相同的物理空间(内存区),子进程的代码段、数据段、堆栈都是指向父进程的物理空间,也就是说,两者的虚拟空间不同,但其对应的物理空间是同一个。当父子进程中有更改相应段的行为发生时,再为子进程相应的段分配物理空间,如果不是因为exec,内核会给子进程的数据段、堆栈段分配相应的物理空间(至此两者有各自的进程空间,互不影响),而代码段继续共享父进程的物理空间(两者的代码完全相同)。而如果是因为exec,由于两者执行的代码不同,子进程的代码段也会分配单独的物理空间。
     
    完。。。。。
  • 相关阅读:
    Concept with HTTP API && RPC
    倒排索引
    What is the difference between routine , method , procedure , function ? please explain it with example?
    第一章 计算机系统漫游
    PHP 编译安装
    清空/重置队列
    解决window.location.href参数太长 post提交数据
    linux安装jdk1.8
    Hibernate中对象的三种状态即save(),update(),saveOrUpdate()的使用【转】
    eclipse中的任务标记(TODO、FIXME、XXX)
  • 原文地址:https://www.cnblogs.com/luntai/p/5769017.html
Copyright © 2020-2023  润新知