24-04-10美团移动面
24-04-10美团前端&移动端面
问题:
-
安卓四大组件(不会直接问Java了)
-
说一下StringBuilder和StringBuffer区别
StringBuilder与StringBuffer功能类似,但是StringBuffer是线程安全的,方法都添加了synchronized关键字。
-
为什么不直接使用String而要用StringBuilder或者StringBuffer
String类的对象是不可变的,一旦String对象被创建,所包含的字符串内容是不可改变的。每次对String对象进行修改操作都会生成一个新的String对象,导致大量的内存开销。而StringBuffer和StringBuilder的字符串修改操作都是直接在原有字符串对象的底层数组上进行的,而不会生成新的String对象。
-
String内部成员变量、.length()方法时间复杂度多少
以JDK8为例:包含final修饰的 char数组 和 hash
其中 .length() 方法调用的是 value 数组的 length 属性
-
如何将String设计成动态容量的
问的是C++中string是可变的,能不能Java的String也实现动态长度?
-
Map底层数据结构???如何保证key唯一
回答的HashMap,说Map类似?不懂啥意思
-
Java与C++区别
-
JVM、垃圾回收
-
C++源文件如何到机器码?还是字节码如何到机器码
-
网页输入网址到显示内容发生了什么
1、DNS解析:发送DNS请求(浏览器缓存、本地缓存、hosts文件),发送给本地DNS服务器(缓存有直接返回),没有询问根域名服务器,根据根域名的指示找到对应的DNS服务器得到IP地址
2、TCP连接 三次握手
3、发送HTTP请求给服务器
4、服务器处理请求并返回响应报文
5、浏览器解析渲染页面
6、结束连接 四次挥手
-
不同局域网可能包含相同ip,顶端DNS如何将查询到的信息返还给请求主机
不懂
-
线程池、如何设计
核心线程数、最大线程数、非核心线程存活时间、阻塞队列、拒绝策略、线程工厂
-
其他忘了。。。
算法:
-
树的最近祖先
-
最长合法括号序列