首页 > 代码库 > 顺丰科技笔试回忆

顺丰科技笔试回忆

顺丰笔试题不多,只有选择题和简答题,45min考完,现在想想,选择题已经忘了,

大概的有:给你两个数据库字段,判断是哪个范式。java编译完后会生成什么代码?(type code)

还有考了c语言的一些语法,给你一个程序判断最后的结果是什么。

问答题:

1、tablespace和datafile的区别与联系?

tablespace是逻辑上的概念,datafile是物理上的概念。
一个tablespace可以由多个datafile组成,一个datafile不能跨越多个tablespace。table中的数据,通过hash算法分布在tablespace中的各个datafile中,tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。
表空间是oracle数据库中最大的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。表空间在物理上体现为磁盘数据文件,每一个表空间由一个或多个数据文件组成,一个数据文件只可与一个表空间相联系,这是逻辑与物理的统一。

2、一个表T(a,b,c,d)按照字段c,排序,并从中选出21-30的记录

1).select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30

2).select * from (select * from test order by c desc) x where rownum < 30  minus 

3、设单链表的表头指针为h,结点结构由data和next两个域构成,其中data域为字符型。试设计算法判断该链表的前n个字符是否中心对称。例如xyx、xyyx都是中心对称。

算法思想:使用栈来判断链表中的数据是否中心对称。将链表的前一半元素依次进栈。在处理链表的后一半元素时,当访问到链表的一个元素后,就从栈中弹出一个元素,两个元素比较,若相等,则将链表中下一个元素与栈中再弹出的元素比较,直至链表到尾。这时若栈是空栈,则得出链表中心对称的结论;否则,当链表中的一个元素与栈中弹出元素不等时,结论为链表非中心对称,结束算法的执行。

4、简述tcp三次握手过程?

终端A(Client)和终端B(Server)之间建立TCP连接时,需要经历三次握手,过程如下:

1) A向B发送SYN消息,进入SYN_Send状态,表示已发送SYN消息,等待确认.SYN = synchronize Sequence Number,该消息对应的序列号是一个随机值,如SNA.

2)B收到SYN消息后,产生一个新的SYN和ACK并发送给A,进入SYN_RECV状态,表示已经收到SYN. B产生的序列号为B自己选取的一个随机值如SNB,而ACK号为SNA+1.

3) A收到B发送的SYN+ACK消息后,向B发送ACK消息,进入Established状态.这次产生的序列号为SNA+1,ACK号为SNB+1.

5、jdbc连接数据库的代码填写

1)导入数据库连接所需的包

2)定义连接所需的字符串

string driver="oracle.jdbc.oracleDriver"//驱动字符串

string url="jdbc:oracle:thin:@localhost:1521:orcl11g"//链接字符串

string user="scott";

string password="tiger";

3)加载jdbc驱动程序

class.forname(driver);

4)分配一个connection对象

Connection con=DriverManager.getConnection(url, user, password);

完成以上步骤即可连接上数据库,为下一步操作数据库做好准备

 5)分配一个PreparedStatement对象,执行查询SQL(DQL)语句 String sql="select * from emp";

 

 

顺丰科技笔试回忆