杭州飞书客户端 一二三面面经 已意向书
一面50mins
1.重载和重写怎么实现、区别、注意点2.泛型是什么、如何实现
3.list<string>和list<object>一样吗(刚开始说不一样的,后来面试官提醒说:你不是说这是语法糖吗? 我才改口 尴尬)
4.list< extend T > 和list<super T>
5.sychnorized用过吗,然后举了个小例子,问我会怎么样
6.用wait和notify写个生产者消费者模式吧(尝试了下 不会 然后跟面试官说 我知道是object里面的方法 但是没用过... 感觉凉凉 还好换了一道题)
7.换了一道旋转链表(敲了好几遍了 秒了 然后说了一下如何实现)
8.设计模式用过哪些,jdk哪里用到了(说了流的装饰模式 spring的工厂模式)
9.jdbc用的什么设计模式
10.写个单例模式吧(咔咔咔 敲完)
11.反射知道是什么吗 怎么实现(jdk和cglib 动态字节码技术 具体实现就实现invocationhandle然后重写invoke方法)
12.如何避免反射知道吗(可以在方法里进行判断 然后抛出)
13.怎么判断是反射调用的方法呢(...想想想 没想出来 好在面试官说他就随便问问...)
14.以对象作为hashmap的key要注意什么
反问环节:
我:我有啥需要提升?
面试官:java基础很不错,符合我们的要求,但是因为你不会安卓,所以我也就没问
我:安卓这个有要求吗?
面试官:应届生应该没有
总结一下一面吧,消费者生产者没写出来,难受~ 然后jdbc用什么设计模式不晓得,这个确实不晓得...
等了三天二面来了~
二面35mins(短的我觉得自己没戏了)
1.用数组实现个栈(一上来就这么直接的吗? 行~ 咔咔咔 5分钟敲完)2.一般的栈没有容量限制的吧(行~ 扩容 咔咔咔敲完)
3.内存方面有什么可以优化的吗(...缩容吧)
4.for(int i = 0;i〈 list.size();i++)遍历一个列表有什么能改进的吗?(这就是我的日常操作... 很想说没有,但是竟然你诚心诚意的发问了,我觉得里面的list.size()可以在循环外赋值,这样就不用每次循环都要去调用size方法了)
5.for循环去remove list中的值会发生什么
6.我看你简历里写了jvm调优怎么调的
7.base64优缺点(我简历里写了 然而我并不会)
8.写个二叉树左视图吧(5分钟)
反问环节
我:我咋样
面试官:java基础挺ok的 安卓可以看看了(又是安卓 说好的不要求呢)
等了两天,三面来了,hr说面试官时间排满了,直接安排到下个星期,嘤嘤嘤~ hc没有了怎么办!
三面60mins(因为面试官要开会,提前10分钟给我打电话让我准备面试,刺激~)
1.自我介绍,讲项目(我开始吹了5分钟的逼,吹到自己都尴尬)2.问了我40分钟的mysql底层 主要集中在重复读如何实现和举两个事务一起执行的例子,描述一下结果。然后大家注意一下,面试官这里不光问我原理,还问我为什么这么设计,总之问了很多(还挺开心的 毕竟mysql比较擅长)
3.一个整数,交换两位求最大值(想想先暴力再优化吧,开始敲。然后面试官:不需要聊聊吗? 我:??聊啥 面试官:你现在这个时间复杂度多少 ,能不能优化下 ? 想了一会儿优化到o(n)眼看快出来了,面试官说没时间了 凉凉~)
反问:
我:我咋样
面试官:编码能力再加强(行~凉凉~)
8.4日面试都结束
8.6日问hr说三面通过(意外,算法没出来都行~),还需要走审批流程
目前内心慌的一匹,想了解一下审批流程可能会挂吗???
顺便求一波offer~#安卓工程师##校招##面经#