因为热爱所以坚持,因为热爱所以等待。熬过漫长无戏可演的日子,终于换来了人生的春天,共勉!!!
目录
昨天突然收到字节跳动HR的电话, 说是房产开发部要和我约一下面试时间,我惊了一下,我都不记得啥时候投过简历了,为了能多些苟且喘息的时间,我和HR约在了第二天的下午,于是我抓紧时间开始狂看面经
今天下午,我早早的就进去了面试的视频房间等着,然后开始睡觉(慌的不行平静一下,嘿嘿), 睡梦中突然听到有个小姐姐在说话,于是我梦中惊坐起,只见一个貌美如花的小姐姐出现在屏幕上,我一开始反应是HR,于是我问面试官在哪里呢?她回答说我就是面试官呀,你这边怎么回声这么吵呀,于是我慌慌张张地去找耳机,然后她温柔地说道,时间差不多了,我们开始吧,我强装镇定得坐下来,开始了我的自我介绍,介绍完毕后开始了正式的问答环节,下面是她问的问题
项目相关
1.可以描述下你的项目的情况嘛?你在其中担任什么角色,做了哪些事?
2.说下你对SpringBoot的理解?
3.你的数据表怎么建的,详细说下?
4.你支付用的支付宝,有遇到哪些问题嘛?
5.你项目过程中遇到过哪些问题?
基础知识
6.说下java的基本类型有哪些?
7.基本类型对应的包装类
8.泛型的作用?对泛型的理解?类型通配符?
9.equals方法
10.final关键字
11.static关键字
12.continue,break,return的区别?
13.静态方法和实例方法的区别?
14.并发是个什么概念?
15.高并发下需要注意什么问题?
16.你遇到过哪些并发问题?如何处理?
程序题
17.输出结果
String a = new String("ab");
String b = new String("ab");
String aa = "ab";
String bb = "ab";
if (aa == bb)
System.out.println("aa==bb");
if (a == b)
System.out.println("a==b");
if (a.equals(b))
System.out.println("aEQb");
18.手写单例模式
class Single {
private Single() {
}
private static volatile Single SINGLE;
public static Single getInstance() {
if (SINGLE == null) {
synchronized (Single.class) {
if (SINGLE == null) {
SINGLE = new Single();
}
}
}
return SINGLE;
}
}
19.手撕算法,有效括号
public static boolean isValidStr (String str) {
// write code here
if (str.length() % 2 == 1 || str == null || str.length() == 0) return false;
char[] c = str.toCharArray();
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < c.length; i++) {
if (c[i] == '{') stack.push('}');
else if (c[i] == '[') stack.push(']');
else if (c[i] == '<' ) stack.push('>');
else if (c[i] == '(') stack.push(')');
else {
if (c[i] != stack.pop()) return false;
}
}
if (stack.isEmpty()) return true;
else return false;
}
20.手写SQL语句,查询名字重复的记录
id | name |
1 | 小明 |
2 | 小明 |
3 | 小芳 |
SELECT id,name FROM `table` WHERE name IN (SELECT name FROM `table` t GROUP BY name HAVING COUNT(name) > 1) ORDER BY name;
写出来的错了,我反问小姐姐怎么写,小姐姐叫我上网去查,我再三诱导,小姐姐说select * ...加一个嵌套查询,我立马反驳,怎么能写select * 呢,这么写肯定得挨骂,她追问道为什么不能,两个字段也不能嘛,你说说为什么? 我说查询的字段要尽可能被索引覆盖,如果你一张表有很多字段的话,如果select * 那么会导致很多的其他的没建索引的字段要进行回表操作,很影响性能,小姐姐说,嗯,是的,可以(于是我暗自窃喜)
激动人心的反问环节
21.部门的主要业务
22.主要用的技术栈(提一下字节主要golang和python)
23.对我面试的评价,觉得我哪里可以做得更好?
(小姐姐说我表达能力不错,就是太粗心了,呜呜呜,我说第一次开视频还是女性面试官不太适应,然后第一次白板写代码,小姐姐说怪我影响你发挥了,嘿嘿嘿,真不敢说,也就背地里说一下)
愉快的面试就这样结束啦,整个过程下来,我感觉问的都十分基础,但是还是出现了很多小错误,太粗心了,单例get方法写成了private,static写成了final;有效括号很简单的一个算法题目,但是也对一些特殊情况忘记了考虑,对于str == null || str == length() == 0,以及奇数时也忘记考虑了,然后SQL语句太久没写,也忘记怎么写了,不过小姐姐还行一点一点提醒着我不断完善,非常的耐心与专业,感觉还是收货了挺多东西,继续加油!!!