一面
4.23
上来先做两道算法:
从长度为100万的整数数组中找出最大的100个(100万数组在内存中,数组中数可能重);(堆排序)
用单向链表表示十进制整数,求两个整数的和,结果也是一个单向链表, 如 1->2->3->4 表示1234
(先反转链表,再按对应位相加,注意进位)
两道都是Leetcode原题
网络:
三次握手四次挥手
HTTP状态码
GET和POST
组成原理:
冯诺伊曼结构
反码和补码的意义
(都不会。。措手不及)
操作系统:
进程线程
死锁的原因以及预防
JAVA:
访问权限的修饰
强引用、弱引用
多态如何实现(不了解,就回答了C++的原理)
面试官看我JAVA不太熟,就不问了。。。略尴尬,当时还以为自己凉了
安卓:
四大组件
生命周期有哪些?
二面复盘:
4.26,时长约一小时
感觉很多开放式问题。。考察你对整个计算机知识的一个理解
自我介绍
介绍自己做的安卓项目
怎么接触学习安卓的?学习了多长时间?
学习一门新技术会怎么学习?会逛哪些开源的论坛?
Java熟悉吗?
语言:
Java和C++有什么不同?内存回收方面有什么差异?(因为我提到自己用法C++多一点,所以问到这个问题)
对操作系统有什么理解(自由发挥,我谈了资源调度,CPU调度算法,文件管理)
安卓系统的了解?(四层架构可以谈一谈)
权限管理?(安卓和Linux都谈谈)
设计模式了解哪些?谈谈最简单的单例模式如何?
谈谈对面向对象的理解?
重写和重载?
Java的范型?有何作用?安全性方面有提升吗?(将运行时期出现问题ClassCastException转移到了编译时期,方便解决问题,减少运行时期的问题,有利于程序的健壮性)
网络:
HTTPS讲一讲?中间人(ARP)攻击怎么实现?那么如何避免呢?
算法:
求出两个链表的共同结点
给出若干个飞机的起飞时间和降落时间(精确到分钟),求出同时在空中的飞机的最大数量(公交车上下站问题。。)
三面
4.30,约45Min
自我介绍
深挖项目
事件分发机制
学习安卓多久了?
Java threadLocal,我说我不太熟java就开始问C++
空类多大?
C++内存分配
堆和栈,局部变量放在哪里
左值引用和右值引用
ARP,RARP协议
Java内存回收机制
智力题:
现在是3:15,计算时针和分针的夹角
如何估算出一个池塘中鱼的数量
算法:
判断链表是否有环
四面5.10(挂)
约30min
自我介绍
为什么选择客户端?挖项目
安卓存储数据的方式?SQLite会用吗?
SharePreference可以多线程操作么?
手撕代码
顺时针打印矩阵
https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/
全部评论
(2) 回帖