首页 > 笔经面经 > 字节跳动客户端一、二面➕三面凉经

字节跳动客户端一、二面➕三面凉经

头像
1衬1
编辑于 2019-10-15 21:29:24 APP内打开
赞 10 | 收藏 46 | 回复9 | 浏览3001
本来已经挂了,没有什么心情发面经,但是想想自己也受到牛客网牛友们的帮助,积攒一下人品,把面经发出来,希望能够帮助还没有放弃的孩子。

一面:
1.utf-8的中文和英文大小?为什么这么大?
2.进程和线程的区别?
3.线程的通信方式?
4.wait和notify的基本原理?为什么是Object.wait?
5.常见的同步方式?synchronized/CAS?
6.死锁?
7.线程池的创建方式?以及区别?
8.计算机网络的七层架构(OSI)
9.get和post的区别?本质区别是什么,如果在post中+body会怎么样?
10.DNS解析是否了解?DNS解析的具体流程是什么?
11.https是否了解?讲一讲https传输的流程?
12.垃圾回收机制

->算法:2 3 5 7 ,找出所有组合方式,使之和为N
——————————————————————————————————————————————————————————
二面:
final是否有了解?
final Student student1 = new student(90);student1.score = 91;是否可行?可以
final Student student2 = new Student(91);student1 = student2;是否可行?不可,final即不可改变引用
int a = Integer.MAX_VALUE;那么a+1的值等于多少?-Integer.MAX_VALUE;
TCP和UDP的区别?本质区别?可靠性等等相关
TCP的四次挥手?
http的状态码是否了解?3开头指的是什么?重定向
介绍一下hashMap?具体一点介绍添加操作和resize?是否是线程安全的?如何实现线程安全的hashMap
concurentHashMap?线程安全是如何实现的?

->算法:
设计一个榨汁机?(最重要的是用接口来抽象水果以及可以榨汁的蔬菜)
检验IPV4地址的合法性?(特别注意边界条件),如何检测Integer.parseInt()的合法性
不开辟空间怎么实现循环右移 n 位
如何在无序(有负数)的数组中查找是否存在和为target的两个数组合,twoSum();

——————————————————————————————————————————————————————————
1.了解多态吗?
2.书写一个多态的例子
3.多态具体情况的判断:
4.异常具体情况的判断
5.快速排序
6.堆排序
7.字符串比较
->java多态例子
public static void main(String[] args) {
Person  p1 = new Student();
p1.num = ?
Person  p2 = new Student();
}


public class Person{
public int num = 5;
//...
static public void run(){

}
public void run(long time){

}
}
public class Student extends Person{
public int num = 10;
//...
public int run(){
try {
System.out.println("running...");
return 1;
} catch (Exception e) {
} finally {
num = 20;
}
}
}
2. 快速排序
3. 字符串比较
String version1 = "2.1.1.0";
String version2 = "2.1.1.1";

public class Main {
public static void main(String[] args) {
String v1 = "2.1.1.0";
String v2 = "2.1.1.1";
String res = compareV(v1,v2);
System.out.println(res);
}
private static String compareV(String v1,String v2)throws IllegalArgumentException{
if(v1==null||v1.length()==0||v2==null||v2.length()==0){
throw new IllegalArgumentException("Error input!");
}
String[]v1Arr = v1.split("\\.");
int len1 = v1Arr.length;
String[]v2Arr = v2.split("\\.");
int len2 = v2Arr.length;
for(int i=0;i<Math.min(len1,len2);i++){
String digit1 = v1Arr[i];
String digit2 = v2Arr[i];
int num1=0;
int num2=0;
int times1 = 1;
int times2 = 1;
for(int m=digit1.length()-1;m>=0;m--){
Character c = digit1.charAt(m);
if(c-'0'<0||c-'0'>9)throw new IllegalArgumentException("Error input!");
num1 = num1+(c-'0')*times1;
times1=times1*10;
}
for(int n=digit1.length()-1;n>=0;n--){
Character c = digit2.charAt(n);
if(c-'0'<0||c-'0'>9)throw new IllegalArgumentException("Error input!");
num2 = num2+(c-'0')*times2;
times2=times2*10;
}
if(num1>num2){
return "v1";
}
else if(num1<num2){
return "v2";
}
}
if(len1==len2)return "equls";
if(len1>len2)return "v1";
else return "v2";
}
}





9条回帖

回帖
加载中...
回帖

相关热帖

笔经面经近期热帖

热门推荐