字节跳动提前批ToB业务后端一面凉经
面试官很直接,同学你好,先来写个代码吧~~
编程题目是顺时针打印数字(回型),剑指offer上的题目(不过我当时就做了一遍就扔那了,没想到会考这道题,当时怎么写的都忘了,就记得逐圈打印,半个小时才写出来)。
打印形式如下:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
写完编程之后,面试官问当n很大(n是边长,n>100000)时,给你个坐标让你去这个回型数组中查找该位置的值(回型数组不是以二维数组的形式存放的,具体的比如链表),你会怎么找?分析复杂度,然后问有什么优化方法?
编程完了之后就问了几个问题:
1.用过数据库吗?说下隔离级别,分别是解决了什么问题?串行化是怎么隔离幻读的?
2.说下数据库的索引,聚簇索引和非聚簇索引区别?
3.问你些java问题,synchronized和lock区别?讲讲synchronized和实现原理,synchronized对类加锁和对象加锁的区别
4.volatile讲一下,可见性是怎么实现的?,java工作内存在什么位置?指令重排讲一讲?举个例子。
5.java运行时数据区讲一下,java堆里边放的是啥,方法区呢?
6.redis的sortedset讲一下底层实现
7.Spring AOP 讲一下,有哪些应用?
以上问题均以不会而告终~~~菜的要死,凉凉
#字节跳动##面经##Java工程师##校招#