2014人人校招 笔试总结

2014人人校招。今天參加了笔试,主要内容包含操作系统、数据结构、计算机网络一共12道选择题,一道关于Sql的问答题(较复杂。删除反复的内容),三道编码题(字符串处理、转换数字为中文形势、大文件有反复且考虑内存情况下统计行数)。

以下说一下我都做错了哪些吧。另一些重点

1.粗心做错

对于类的“+”的重载。一道选择题,一不小心选错了,class A,正常重载成员函数原型为:

A A::operator +(const A &A2);

2.基础不够

(1)友元函数的訪问,一个类的友元函数可以通过(类对象參数)訪问类的全部成员。

(2)进程转换可能有哪些?如图记住就好

(3)网络协议

  ARP 地址解析协议(数据链路层),ARP为通过IP地址映射到到MAC地址

  RARP 逆地址解析协议(数据链路层),RARP一般用于无盘工作站启动时通过硬件地址获得IP地址。

      顺便对于网络协议总结一下
     
      计算机网络中五层协议各自是(从下向上):
      1) 物理层 2)数据链路层 3)网络层 4)传输层 5)应用层
      其功能各自是:
      1)物理层主要负责在物理线路上传输原始的二进制数据;
      2)数据链路层主要负责在通信的实体间建立数据链路连接。
      3)网络层主要负责创建逻辑链路,以及实现数据包的分片和重组,实现拥塞控制、网络互连等功能。
      4)传输曾负责向用户提供端到端的通信服务,实现流量控制以及差错控制;
      5)应用层为应用程序提供了网络服务。


     
      一般来说,物理层和数据链路层是由计算机硬件(如网卡)实现的;
      网络层和传输层由操作系统软件实现。
      而应用层由应用程序或用户创建实现。

3. 难度上升

 (1) 数据库操作,删除一个表中的冗余数据,这个比較复杂。由于没有主键,仅仅有两个字段id和name,并且name冗余,想了好久也没想到是怎么删除的,最后胡乱写了一个。

如今查找资料之后有了一些思路:依据rowid删除。每一条记录都有唯一的rowid。能够通过以下语句查看想要删除的row的rowid   

    SELECT a.*,rowid FROM a;

  (2)大文件行数统计。这个想到了一个比較好的思路。就是利用userid范围创建一个int数组,所有初始化a[n]=n, 循环读,每次读出一个数字符合就赋值为0,同一时候count++,假设a[n]==0,说明前面已经读过。忽略这次的结果继续读,最后的count就应该是去除冗余后的总行数。

刚刚结果出来了,不幸,也在意料之中,没有我。。

posted on 2017-04-27 18:04  ljbguanli  阅读(102)  评论(0编辑  收藏  举报