听雨轩808
一、单选题 1.“秘密”是一款在朋友圈内匿名交流的SNS平台。假定每个人只能看到朋友发的帖子,却不知道具体是谁发的;并且朋友关系是对称的,即如果A是B的朋友,那么B也是A的朋友。某好事者希望知道一篇帖子具体是谁发的,他通过找几个好友看看他们是否是这个帖子楼主的朋友,从而求“交集”,推断楼主是谁。朋友圈是指彼此互为朋友的人群。什么样的楼主容易被发现真实身份? A朋友很多的楼主。 B朋友很少的楼主。 C发负能量帖子的楼主。 D有很多个小朋友圈的楼主。 E发正能量帖子的楼主。 F只有一个大朋友圈的楼主。 2.有一个装过食盐的瓶子,容积是w,在食盐用完之后,还有一些食盐粉末(体积可以忽略)残留在瓶子壁上。现在要把该瓶子改装糖,给你u体积的纯净水,用来清洗该瓶子。在每次清洗之后,瓶子里会残留至少v体积的水(食盐溶液,可以忽略盐的体积)。假设w>u>v,请问下述哪种方式使用这些纯净水,能把瓶子洗得最干净______? A.把所有的纯净水全部倒入瓶子,然后把水倒掉。 B.将纯净水平均分为两份,用每一份清水洗一遍瓶子。 C.每次注入体积为v的纯净水清洗瓶子,直到纯净水用尽。 D.每次注入体积为2v的纯净水清洗瓶子,直到纯净水用尽。 E.将用过的水重新注入瓶子,多次清洗。 F.以上方法清洗效果相同。 3.有一只火鸡出生在某年春天。从出生第一天起,主人就会每天给它喂食。这只火鸡用一个模型来计算主人对它的爱的程度=吃到米的天数/(出生之后的总天数+1)。这只火鸡发现这个爱的指数每天都在上升。有一天感恩节到了,火鸡被主人杀掉了。关于火鸡的爱的指数模型的说法正确的是:______? A.火鸡的模型之所以无效,是因为这个公式不是最大似然估计。 B.火鸡的模型之所以无效,是因为这个爱的指数增长速度先快后慢。 C.火鸡的模型之所以无效,是因为没有计算这个爱的指数的方差。 D.火鸡的模型之所以无效,是因为分母+1了。 E.火鸡的模型之所以无效,是因为主人太坏了。 F.火鸡的模型之所以无效,是因为统计的概率空间不完整。 4.下列方法中,______不可以用来程序调优 ? A.改善数据访问方式以提升缓存命中率 B.使用多线程的方式提高I/O密集型操作的效率 C.利用数据库连接池替代直接的数据库访问 D.使用迭代替代递归 E.合并多个远程调用批量发送 F.共享冗余数据提高访问效率 5.并发进程执行的相对速度是______。 A.由进程的程序结构决定 B.由进程本身来控制 C.进程被创建时决定 D.与进程调度策略有关 E.与进程的销毁时间有关 F.由内存分配策略决定 6.动态内存分配(C语言中的malloc,C++中的new)得到的存储区属于内存中的:______。 A.静态区 B.堆(heap) C.栈(stack) D.堆栈 E.内核内存 F.不确定 7.下列正则表达式不可以匹配” ”的是______。 A.^\w+\.\w+\-\w+\.\w+$ B.[w]{0,3}.[a-z\-]*.[a-z]+ C.[c-w.]{3,10}[.][c-w.][.][a] D.[w][w][w][alibaba-inc]+[com]+ E.^\w.*com$ F.[w]{3}.[a-z\-]{11}.[a-z]{3} 8.关于IP地址下列说法错误的是______。 地址采用分层结构,它由网络号与主机号两部分组成 B.根据不同的取值范围IP地址可以分为五类 属于B类地址 D.每个C类网络最多包含254台主机 采用128位地址长度 类,B类和C类地址为内部私有地址 9.某团队有 2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的最少有______人。 10.计算三个稠密矩阵A、B、C的乘积ABC,假定三个矩阵的尺寸分别为m*n, n*p, p*q,且m A.(AB)C (BC) C.(AC)B D.(BC)A E.(CA)B F.以上效率相同 11.棋盘上共有2020个格子,从1开始顺序编号。棋子初始放在第1格,通过扔骰子决定前进格子数,扔出x点就前进x格。骰子有6面,分别对应1至6;质量均匀。当棋子到达2015或超过2015,游戏结束。那么,棋子刚好到达2015的概率与______最接近。 同学每天乘公交上学,早上睡过头或遇到堵车都会迟到;H早上睡过头概率为,路上遇到堵车概率为;若某天早上H迟到了,那么以下推测正确的有______。 A.今天H早上睡过头了 B.今天H早上睡过头的概率为 C.今天H早上睡过头的概率大于 D.今天H早上遇到堵车了 E.今天H早上遇到堵车的概率为 F.今天H早上遇到堵车的概率小于 13.个数约为50K的 数列需要进行从小到大排序,数列特征是基本逆序(多数数字从大到小,个别乱序),以下哪种排序算法在事先不了解数列特征 的情况下性能大概率最优(不考虑空间限制)______。 A.冒泡排序 B.改进冒泡排序 C.选择排序 D.快速排序 E.堆排序 F.插入排序 14.在以下操作中,数组比线性表速度更快的是______。 A.原地逆序 B.头部插入 C.返回中间节点 D.返回中间节点 E.返回头部节点 F.选择随机节点 15.一个函数定义的返回值是float,它不能在 return语句中返回的值的类型是:______。 F.以上皆可以 16.某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。他们分别擅长前锋、后卫或守门,其中: ① 美国外援单独擅长守门; ② 意大利外援不擅长前锋; ③ 巴西外援和另外某个外援擅长相同的位置; ④ 荷兰外援擅长的位置和巴西外援不同。 以上条件可以推出巴西外援擅长的位置是______。 A.前锋 B.守门 C.后卫 D.前锋或守门 E.后卫或守门 F.前锋或后卫 17.以下属性中,______不是m阶B树特性。 A.根节点至少2子女节点 B.非根节点包含的子女数j满足:┌m/2┐ - 1 <= j <= m - 1 C.除根结点以外的所有内部结点度数为存储关键字总数加2 D.常用于计算机磁盘文件组织 D.叶节点均位于同一层 也常用于计算机磁盘文件组织 18.在一个单链表中,q的前一个节点为p,删除q所指向节点,则执行______。 q; >next=p->next;delete p; >next=q->next;delete p; >next=q->next;delete q; p; >next=p->next;delete q main(){ fork()||fork();} 共创建几个进程:______。 20.程序出错在什么阶段______? int main(void) { ; cout<<“welcome to taobao"; } A.预处理阶段出错 B.编译阶段出错 C.汇编阶段出错 D.链接阶段出错 E.运行阶段出错 F.程序运行正常 二、附加题 1.针对无线互联网的现状和特殊性,请列举可提升用户体验的网络相关优化措施。(优化点可包括客户端、前端、服务端,甚至业务设计层面) 2.给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。 3.写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。

转角的夏天xia
很多人说Android开发前景越来越差了我觉得这个回答是片面的
首先Android应用开发前景差是在最近两年出现的,也就是从2018开始,从那时起移动端的程序员已经慢慢出现供大于求的局面,本人作为移动端开发,深知这一点。
然而也必须说明一点,不论是Android开发还是iOS开发,虽然都出现了相关的程序员供大于求的情况,但市场仍然是有需求的,特别是对资深的开发人员及拥有相关底层开发知识的应用程序员市场及发展还是很多的;这里所讲的就业难都是相对于初级开发人员。
为什么会在18年出现应用端就业难?这是由于在前几年App风盛行,那几年只要是个和互联网的公司要是没个自己的App那都不好意思叫互联网公司,所以一般的互联网公司成立之初就会着手开发自己的App,不管是否是刚需,但市场终究是严峻的;App虽然好,能快速开展本公司的业务,但App的运营成本还是很高的,一个App在早期就开发团队来说一般都是需要至少Android开发一人,iOS开发一人,后台开发2人以上,还有UI及产品等等,当然最主要的问题是一般的公司对于这种模式都会面临回报周期长的问题,App开发完了还面临着推广的问题,市场抢占不了,也许之前的都会付之东流。于是在早期很多学校特别是培训机构就针对市场推出了应用端的培训课程,短到三个月长到半年的课程,于是乎每一个月都会有成千上万的应用端走向市场,所以时间一长,市场慢慢趋于稳定。应用端的人员慢慢就变得供大于求了,这也是慢慢出现应用端求职难的问题了。
以上说的是其中一方面,成本高和其他低成本,低运营的技术相继出现也是应用端求职难现象的助推手。
这里主要讲下2016年出现的小程序对于App的冲击,原生App有着开发周期长,运营成本高及回报周期长的特点,所以近年来很多公司都慢慢削去了应用端从而将资金放在其他部分,直到小程序的出现,开发成本一下就可以降下不少,为什么呢,因为小程序的开发语言可以由前端的开发人员承担,而且开发一个小程序不需要维护两套代码也就是不需要像原生App一样,需要Andoid端和iOS端,因为小程序是运行在微信中的,所以只要开发人员维护一套代码就够了,这大大的降低了前期的开发成本,其他细节在这就不细讲了,总之小程序的出现不同程度上更加冲击了应用端的竞争市场,从而也使得应用端就业竞争更加激烈。
当然市场还是需要应用端的人才的,这里所说的人才指的是那些会顺应技术发展和时代的有着不断学习力的开发人员,对于那些初级的程序员市场终究对于他们是残酷的,所以提升自己的竞争力在任何职业任何时候都是非常重要的,只有这样才不会被市场所抛弃。
就先写到这,手机码字很痛苦,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我我会定期分享一些关于Android进阶方面的知识,也会分享一下最新的面试题~
最后说一句送给包括我自己所有正在从事开发行业的同行们一句话:
任何行业都是大浪淘沙,留下来的才是金子。
优质工程师考试问答知识库