背景:完全没有Android原生项目经验
- 自我介绍
谈自己了解Java、了解计算机网络、了解操作系统、了解Flutter、了解MySQL;有过MIT深度学习项目、自己做过Flutter项目的demo;有过百度QA实习、建行暑期实习。 - 介绍Flutter
- 能谈一谈Flutter的优势吗
- 进程与线程可以谈一下吗
- 在new一个对象的时候,它的每一部分都是放到哪一块区域的可以说一下吗
- 你刚才提到了new一个String,这与直接“”一个有什么区别吗
(这里我是在前一题故意挖坑,用String的创建过程来回答,引导面试官问我背得比较熟悉的这一方面的知识)
- Java的GC有了解过吗
- 是所有新对象都直接放入新生代吗
- 线程池有了解过吗
- 线程池有什么优点你可以说一下吗
- 线程安全这一块有所了解吗
- synchronized锁和volatile可以说一下吗
- synchronized作用于代码块和方法有什么区别呢
- 可以谈一下在项目中如何使用synchronized与volatile的吗
- 在单例模式中,volatile的作用是什么呢
- 可以讲一下array与list的异同点吗
- 可以说一下一个键值对放入hashmap的具体过程吗
- 可以说一下hashmap的扩容机制吗
- hashmap是否线程安全呢
- 那concurrenthashmap如何保证线程安全的呢
- 可以说一下http与https的区别吗
- 可以说一下https是如何保证其安全的吗
- quick协议了解吗
- 算法:用数组实现循环队列
反问环节:
1、咱们部门主要负责哪一块?
2、近一步就做的业务深入再问了一下表明自己对这方面很感兴趣
3、工作地点
4、自己想要更好的发展,应该去补充Android开发知识还是哪一方面
面试官认为校招更看重基础,如Java底层、算法基础、计算机网络和操作系统等,具体Android开发进入部门后会再一次培训,所以并不是特别重要,有Android项目demo是一个加分项,但是不算很重要
#美团面试#