头条提前批Java后端工程师面经
面试时长 :55 分钟
1.自我介绍;
2.Java虚拟机:G1与CMS(说说Java虚拟机是怎么运行的)
3.为什么要分新生代与老年代?
4.HTTPS与HTTP的区别。
7.非对称加密是怎么进行的?
8.TCP与UDP的区别。
9.TCP的四次挥手
10.第二到第三次挥手之间服务器在做什么?最后一次挥手,客户端与服务端的状态?
14.项目:减库存是怎么减的。
15.撸代码:
给定一个int数组A,数组中元素互不重复,给定一个数x,求所有求和能得到x的数字组合,组合中的元素来自A,可重复使用。
例子:
A = [3,2,6,7]
x = 7
其中一种输出结果:
[
[7],
[2,2,3]
]
```
public class Main {
public ArrayList<ArrayList<Integer> res = new ArrayList<>();
public ArrayList<ArrayList<Integer>> sum(int[] A,int x)
{
Arrays.sort(A);
if(A==null||A.lenght==0)
return res;
ArrayList<Integer> list = new ArrayList<>();
bk(A,X,0,list);
return res;
}
public void bk(int[] A,int X,int k, ArrayList<Integer> list)
{
if(X=0)
{
res.add(list);
return;
}
if(X<0)
{
return;
}
for(int i=k;i<A.lenght;i++)
{
list.add(A[i]);
bk(A,X-A[i],i,list);
list.remove(list.size()-1);
}
}
}
```
16..给定数据表T,字段,sex,age,city,
- 查询:男性平均年龄最大的城市,如何建索引?
```
select city from while sex = 'fale' and max(avg(age));
```
#面经##内推##校招##Java工程师##字节跳动#
1.自我介绍;
2.Java虚拟机:G1与CMS(说说Java虚拟机是怎么运行的)
3.为什么要分新生代与老年代?
4.HTTPS与HTTP的区别。
5.HTTPS是如何加密解密的
6.http有哪些提交表单的方法:get、post、head、put。
7.非对称加密是怎么进行的?
8.TCP与UDP的区别。
9.TCP的四次挥手
10.第二到第三次挥手之间服务器在做什么?最后一次挥手,客户端与服务端的状态?
11.数据库SQL、数据库是如何建立索引的。(我说不太熟,就没问太多)
12.数据库的事务的特点?
13.隔离级别?
14.项目:减库存是怎么减的。
15.撸代码:
给定一个int数组A,数组中元素互不重复,给定一个数x,求所有求和能得到x的数字组合,组合中的元素来自A,可重复使用。
例子:
A = [3,2,6,7]
x = 7
其中一种输出结果:
[
[7],
[2,2,3]
]
```
public class Main {
public ArrayList<ArrayList<Integer> res = new ArrayList<>();
public ArrayList<ArrayList<Integer>> sum(int[] A,int x)
{
Arrays.sort(A);
if(A==null||A.lenght==0)
return res;
ArrayList<Integer> list = new ArrayList<>();
bk(A,X,0,list);
return res;
}
public void bk(int[] A,int X,int k, ArrayList<Integer> list)
{
if(X=0)
{
res.add(list);
return;
}
if(X<0)
{
return;
}
for(int i=k;i<A.lenght;i++)
{
list.add(A[i]);
bk(A,X-A[i],i,list);
list.remove(list.size()-1);
}
}
}
```
16..给定数据表T,字段,sex,age,city,
- 查询:男性平均年龄最大的城市,如何建索引?
```
select city from while sex = 'fale' and max(avg(age));
```
#面经##内推##校招##Java工程师##字节跳动#