2021年唯品会面试题(移动开发)

小编:管理员 1290阅读 2021.06.09

第1题:


static说法正确的是:

  a、static成员棉量在对象构造时候生成

  b、static成员函数在对象成员函数中无法调用

  c、许成员函数不可能是static成员函数

  d、static成员函数不能方威static成员变量



答案:c



第2题:


实例化一个类的时候,构造函数的调用顺序是?a父类构造函数 b自身构造函数 c成员对象构造函数


第3题:


50个人,1~50编号,开始数数,每数到3的倍数的人退出,剩下的继续数,最后剩几号


第4题:


999个节点的完全二叉树,深度是多少?


第5题:


国王有500瓶酒,其中有一瓶毒酒,喝了毒酒20小时才发作,24小时内找出毒酒最少要几个奴隶试酒?


第6题:


const关键字作用是什么?Static关键字作用是什么?


第7题:


先进先出、后进先出的典型数据结构分别是什么?用你熟悉的语言编写其中一个数据结构。


第8题:


(任选一题)

  (1)http协议状态码200、302、404、500分别代表什么?

  (2)tcp协议和udp协议的区别是什么?各举一个典型的应用场景。

  (3)解释一下LRU算法。


第9题:


(任选一题)

  (1)用你熟悉的语言实现冒泡排序算法。

  (2)有两个目录a、b的绝对路径(字符串),用你熟悉的语言实现一个算法,求出b相对于a的相对路径。


第10题:


(任选一题)

  (1)有一个整数数组,请用你熟悉的编程语言写一个算法将这个数组变成奇数在前偶数在后。并给出你的算法的空间复杂度和时间复杂度。

  (2)现有n个小于100000的整数,写一个算法将这些数从小到大排序,要求时间复杂度O(n),空间复杂度O(1)。

  (3)假设用户id为整数,现有10亿条用户购买商品的日志记录,每条记录大约100Byte,现在策划部要求对其中购买商品件数最多的100个用户进行奖励,给你一台内存2G的机器,如何花费尽量少的内存计算出这100个用户的id。


第11题:


(任选一题)

  (1)列举你所知道的设计模式(至少三个),并解释其中的两个。

  (2)试解释并比较面型对象编程和面向过程编程。


第12题:


仓库中有100颗金豆,拣货员在拣货的时候无意中把一颗外观一摸一样但重量不同的假豆掉了进去。仓库主管发现后给了他一架天平,并说如果他能通过最多两次称量得出假豆比真豆重还是轻,就不对他进行惩罚。你如果你是拣货员,你能让自己免于惩罚吗?


第13题:


开发互联网应用与开发企业级应用有什么异同?开发电子商务网站和开发新闻类网站什么异同?思考一下,说说你的观点。


第14题:


下列不可作为java语言修饰符的是()

  A. a1 B. $1

  C. _1 D. 11


第15题:


整形数据类型中,需要内存空间最少的是()

  A. short B. long

  C. int D. byte


第16题:


在java中,一个类可同时定义为许多同名的方法,这些方法的形式参数个数、类型或者顺序各不相同,传回的值也可能不相同,这种面向对象的特性称为()

  A. 隐藏 B. 覆盖

  C. 重载 D. java不支持此特性


第17题:


对一对扑克牌进行排序,时间复杂度尽可能小,请使用自然语言描述算法核心思想,并指出使用算法的时间复杂度,使用java语言描述具体算法的实现。


第18题:


在Linux操作系统下,有一个文本(文件名为user).格式如下:

  Leo:456:7890:11

  Vincent:333:43434:2

  Rack:4343:4343:22

  Leo:444:33:4343

  Rack:1:1:1

  Tiger:1:32:4

  要求:

  1. 提取第二列的值,并对其进行排序.

  2. 计算第二列的总和。

  3. 找出第二,三和四之和的最大值。

  4. 假如有一百万个这样的文本,每个大小为500M,用最快的方式统计哪个用户(第一列)的后面三列之和最大。

  注:可以用java或者shel脚本实现以上功能。


关联标签: