面试想拿 15K,HR 说你只值 10K,我前三面白面的啊!经理都没你这么嚣张…
本三,再普通不过的学校,没啥学术氛围,30多个男生5个女生,科班
虽然没啥学术氛围,但是上课我会和舍友经常坐在第一排,别想多了,没这么好学,其实就是学校小,从宿舍到教室10几分钟,为了能在宿舍多呆一会,每次上课前一分钟我们总能“按时到”,这也就导致第一排的宝座非我莫属,不得不接受老师的唾沫横飞
课程学了java、Android、mysql、oracle、C#、HTML等
就这样和大部分大学生一样,我度过了我的大学,一眨眼,一眨眼…
然后我就迷迷糊糊踏上了找工作之旅。
马上大四了这时候我慌了,就在boss直聘上找实习,第一份实习offer是一家小公司,貌似做小程序之类的外包,面试了半小时,说进来实习可以但是要学c,拒了
这个时候大四开学,开学看到小伙伴很高兴就忘了这些糟糕的事,慢悠悠找实习,在[前程无忧里面找,找的不太满意,百度了一下大家都说不好,那就算了,始终没找到满意的。对。这个时候我只知道前程无忧和boss直聘。boss直聘是学长介绍的。前程无忧众所周知。其他一概不知。就没花多少心思在这上面。。
1.自我介绍 实习时长
2.有没有做过相关的项目或者自己实现过小daemon吗
3.平时有跟其他同学合作过吗,你是写客户端的,遇到问题如何解决,你觉得跟你合作的同学水平如何?
4.前后端通信用的什么协议?
5.输入一个URL发生了什么,webview有用过吗?
6.了解HTTPS吗,建立的过程? 使用Json有遇到什么问题吗
7.android如何发起网络请求,有用过相关框架吗,okhttp框架解决了你什么问题?
8.如何更新UI,为什么子线程不能更新UI?
9.了解ANR吗?
10.String有哪些方法,常用哪些, ==与equals的区别?
11.JAVA中用过哪些容器类,HashMap底层数据结构,如何处理hash冲突?
12.Activity的四种启动模式,区别?
13.Activity A 跳转B B跳转C,A不能直接跳转到C,A如何传递消息给C?
14.AndroidManifest文件中用过哪些相关权限?
15.Intent显示跳转与隐式跳转,如何使用?
16.除了JAVA还会其他语言吗?说了C++,写过一点JS
17.React Native了解吗?答:不了解 了解过NDK。于是问为什么用NDK
18.接着问Jni了解吗?有没有自己使用过,只要编译成功Hello World也算,与JAVA相比效率如何
19.后来面试官解答:同一段代码C与JAVA运行效率快很多,因为JAVA要编译成字节码,但考虑到JNI本身调用的开销,在调度频率不高但一次任务处理量大的情况下时候适合用JNI调C
20.手撕代码 逆序输出ArrayList
21.提问环节 问:部门技术栈? 答,React Native所以要学JS 平时开发偏View吗? 答,是的
1.自我介绍
2.RecyclerView与ListView的对比,缓存策略,优缺点
3.Activity与Fragment的生命周期
4.Fragment add与replace的区别,分别对Fragment的生命周期影响
5.事件的分发机制 提到了责任链模式,就接着问责任链模式的优缺点
6.除了责任链模式还了解哪些设计模式,说了观察者模式,单例模式,工厂模式
7.观察者模式的优缺点,什么情景下使用?使用过哪些用观察者模式的框架?
8.RxJava了解吗? 不了解
9.Gradle文件了解吗? 说不太了解就没往下问
10.中间就优化问题问了好多,我都不会,问的我都觉得我已经凉了
11.view的绘制流程,View层次过深怎么优化,选择哪个布局比较好?
12.手撕代码 递归反转栈,判断链表是否有环,反转链表
13.StackOverFlow与OOM的区别?分别发生在什么时候,JVM栈中存储的是什么,堆中存储的是什么?
14.什么时候会发生内存泄漏?举几个例子
15.提问环节 于是问了一下平时如何学习android以及准备面试?
1.日语什么水平,为什么学日语,不看字幕能听懂吗?
2.平时怎么学习的?觉得自己哪些专业课学得比较好?
3.除了日语还有哪些兴趣爱好,准备学到什么程度?
4.为什么选择android?身边同学都选择什么方向?
5.为面试做了哪些准备?说了看了深入理解JVM那本书,于是问JVM哪一部分比较熟?
6.如何判断一个对象是否被回收,有哪些GC算法,实际虚拟机使用较多的是什么GC算法?
7.如何开启一个线程,开启大量线程会有什么问题,如何优化?
9.线程池的相关参数,有哪些类型的线程池,线程池任务如何调度,任务队列只是先进先出的队列吗,任务有优先级怎么办,知道优先级反转吗?
10.平时开发遇到问题会怎么办?提到了StackOverFlow这个网站,于是被问你知道StackOverFlow除了是个网站还有其他意思吗? 答:栈溢出
11.于是接着问什么时候会StackOverFlow,如果让你写一段栈溢出的代码你会什么写,一个栈大概有多大,为什么?每个线程都有这样大小的一个栈吗?
12.有了解过面试的岗位做什么的吗?说了下好像是用React Native做跨端
13.有没有对笔试和前面的面试进行复盘?现在你觉得笔试题你能做出几道?
14.除了Android还关注过哪些技术?
15.提问环节 为什么问了很多非技术问题? 答:因为我觉得非技术方面如性格,工作是否稳定不仅是HR的事,用人部门也需要了解
16.如何判断
手撕代码 求集合所有的子集
1.电话简单的聊了一下
2.哪里人?现在在家吗?
3.实验室什么方向,学校什么时候开学,上网课跟平时上课有什么区别,感受如何?
4.为什么选择做前端(android),身边有其他同学做android吗,平时有交流技术吗?
5.有了解自己的岗位做什么的吗?
6.还面了哪些公司,进度如何?后续有相关通知会联系你,有问题可以打电话给我
无论什么技术,热不热门,学习都是不可间断的,乘着年轻磨砺技术才是王道,不然在程序员这个后浪一波比一波汹涌的职业里混,你想吃青春饭都吃不了几年。不过,想提升是一回事,如何有效提升就是另一回事了。我工作近十年,也带过不少实习生、应届生,很多年轻人真的很努力在学,加班加点工作卖力,但也就是差点火候,还是方法不对。
什么是方法,方法就是跟着身边大佬走,多问多学,如果身边没有大佬也可以加入我们学习资源交流群,全国的小伙伴天南地北,可以一起聊天学习,更加了解这个行业情况,趋势与走向。
Android面试题(部分展示)
数据结构与算法面试题(部分展示)
源码精编解析(部分展示)