中兴提前批面经(含答案2019.7.23)
一面:
1. 既然你计算机通过了三级,那你说一说两个计算机之间如何发送指令、发送什么指令才能判断两台计算机是否连接好?
开始 运行 CMD 输入命令:ping 对方IP地址
得到:Reply from x.x.x.x:bytes=32 time<1ms TTL=128 说明网络通了
得到:Request timed out 说明网络超时 网络没通
解决方法:查看两台计算机是不是在IP同一个网络
2. TCP的三次握手?
客户端发送SYN=x给服务端,服务端接收到SYN后进入SYN_RECEIVED状态,再返回一个SYN=y、ACK=x+1,客户端收到此消息后进入established状态,再发送给服务端一个SYN=x+1、ACK=y+1,服务端收到此TCP请求段后进入established状态。
3. JVM的调优?你具体是怎样调优的。
JVM调优主要是解决两个问题,Full GC的次数与单次Full GC的时间。通过JDK提供的内存查看国际Jconsole与JvisualVM。
(1) 旧生代的内存不足
(2) Parmanet Generation空间不足
(3) System.gc()被显示调用
(4) 调优主要是通过控制堆内存各个部分的比例和GC策略来实现的。
具体调试过程。
4. 手写一个你项目中的:文章、名字、日期的实现类,包含具体构造函数?
@Entity
@Table(name=“/label”)
public class Label{
@Id
private String article;
private String author;
private Date date;
public Label(String article,String author,Date date){
This.article = article;
This.author = author;
This.date = date;
}
public Label(){
}
//set和get方法
}
5. ArrayList和ArraySet了解吗,使用ArraySet储存10 个对象,然后再加一个同样的对象,ArrayList里面应该是有几个对象,10个还是11个?
ArrayList允许储存相同的对象,所以应该是11个对象;
6. 如果同样的情况,换成HashSet的话,里面还剩几个对象?
ArraySet应该是10个,因为不允许储存相同对象。
7. 如何判断新放入的对象是否和原来的数组里面的对象是否相等?
重写equals方法
8. 手写建立一个数据库表,把刚才的实现类的内容放入表里面?
create database mybase1;
use mybase1;
create table Article(
article char(20) not null,
author char(10) not null,
date char(20) );
insert into Article values (“nihao”,”zhansan”,”2019-7-24”);
9. 如何优化数据库里面的具体一项参数查询,最常用的方法是什么?
(1) 建立索引(最常用的方法)
(2) 垂直分割表
(3) 不要使用select*
(4) 选择正确的储存引擎
10. 如果数据库里面的某一项数据写错了,如何更改?
update Article set name=”zhangxiaosan” where name = “zhangsan”;
11. 如何删除数据库表里面的内容但不删除这张表?
drop from Article;
12. 删除表内容后,用什么语句可以使id从新从1开始增加?
alter table Article auto_increment = 1;
二面:(通过一面,20分钟后)
1. 介绍一下你的项目?
2. 项目中你遇到的难点?
3. 你了解中兴吗?
4. 你对加班怎么看?
5. 你的薪资要求多少?
6. 你有女朋友吗?