携程面筋

1线程和进程的区别

2从浏览器输入网址到出现网页发生了什么

整个过程大概可以分为两大步:网络通信和页面渲染

  • 网络通信(遵循TCP/IP协议)
    在这里插入图片描述
    • 在浏览器中输入url。
    • 应用层DNS解析域名
    • 应用层客户端发送HTTP请求
    • 传输层TCP传输报文(三次握手)
    • 网络层IP协议查询MAC地址
    • 数据到达数据链路层,经过链路层进行传输(客户端发送请求阶段结束)
    • 服务器响应请求。
      响应报文中重要信息:响应状态码
      200:请求成功
      301:永久重定向,即请求的资源已经永久转移到新位置。301返回的同时会带有重定向的url
      404 not found 资源请求不到
    • 服务器返回相应文件
  • 页面渲染
    如果说相应的内容是HTML文档。需要浏览器进行解析渲染呈现给用户。
    解析HTML以后见DOM树
    构建渲染书
    布局渲染树
    绘制渲染书
  • 四次挥手断开连接

3什么情况会导致死锁

多个进程因竞争共享资源而造成的一种僵局
(资源竞争;进程推进不当)

4聚簇索引和非聚簇索引的区别

聚簇索引和非聚簇索引的一个标志性区别就是聚簇索引的叶节点对应着数据页,从中间级的索引页的索引行直接对应着数据页。而非聚簇索引的索引B+树叶节点不是直接指向数据页面的

和刚入门的菜鸟们聊聊–什么是聚簇索引和非聚簇索引:https://www.cnblogs.com/auxg/p/Cluster-and-NonCluster-index.html
MYSQL索引:对聚簇索引和非聚簇索引的认识:https://blog.csdn.net/alexdamiao/article/details/51934917

5索引的优化

MySQL索引及优化实战:https://blog.csdn.net/qq_21987433/article/details/79753551

6描述异常类的体系

7描述集合类的体系,concurrentHashmap的实现原理

  8Redis用过吗,一般用在什么样的场景    
  9多线程使用的场景    
  10多线程的优点,单核CPU是如何调度多线程的,为什么单核CPU调度多线程也能有比较高的效率(我嘴贱说了多核CPU能原生发挥多线程的优势)    
  11 i++操作是线程安全的吗?volatile修饰i,能保证他的线程安全吗?    12 string stringbuffer 和 stringbuilder的区别    
  13 又没有什么问题,关于公司,关于技术    

1了解http协议吗,http 请求头都包含什么样的内容?
cookie,了解吗?具体讲一讲。我说了session,结果他又问了cookie和session的区别。然后又问session在服务器端具体是怎样的实现的,当session中的数据量过大的时候,主要对服务器的哪些方面造成影响?CPU?内存?网络?
2介绍项目模块

6 jdk8的新特性(我答了stream和lamada表达式) 然后他问我如何用这两个做两个list的join连接操作
知道什么设计模式(我答了单例 工厂和代理,他就问了代理,他就是不问单例的几种实现方式,难受啊,马飞)
8Java的异常处理是具体怎样执行的,原理是什么?jvm底层是怎样运行的?
9 有没有什么问题
1、先是自我介绍,然后直接开始问一些基础了
2、java集合你了解些什么?(说了Arraylist,HashMap,HashSet啥的…)
3、HashMap底层怎么实现的?
4、用HashMap去实现HashSet(手撕代码,HashSet没怎么用过,只知道不能重复和无序,写不出来,乱七八糟口述了一波思路,面试官表情有点尬)
5、垃圾回收器了解过吗?
6、堆内存里怎么分的?
7、新生代和年老代是干嘛的?
8、新生代又具体是怎么分的?(问到这就不会了)
9、排序算法了解些什么?
10、最熟悉哪个排序?(回答了快排,前天准备了波手撕代码)
11、果然开始手撕快排了
12、时间复杂度为O(nlogn)的排序有哪些?答了快排、堆排
13、问给你1KW个数据,取出top10,怎么取?开始觉得数据量太大说了二分,
后来想到只要top10,就说了用堆排,组装大顶堆10次就可以了,然后又问了遍时间复杂度,就不知道怎么答了…
14、怎么创建多线程?答了继承Thread类重写run方法,实现Runnable接口啥的
15、写了MyThread extends 问怎么运行这个线程。然后我在下面new了个MyThread对象再调用了个start,
后来想起来他应该是想让我具体重写run吧…
14、看你项目里用到了Mysql,那用Mysql查询慢的时候怎么办呢?设计表结构、建索引、分表、分库啥的…
15、那索引的底层结构是啥?答了B+树
16、B+树具体是什么样的?举例子解释了一波…
17、不知道为什么又问到了数据库查询优化…举了项目中存表的一个例子,有点被怼了
18、看你做过登录系统,那给你存10W个username,你用一个username去查,怎么查?
最开始我以为是存数据库,后来他说要存数据库不好,
读写太慢了,要直接存到内存,问用什么数据结构存,一脸懵逼,然后他提示说想一想集合,
比如用hashset…,不知道怎么回,说回去看看hashset吧…
其实问的挺基础的,整个过程关于hashset和数据库优化的没怎么答出来,其他的都多多少少答出来些了…
整个八月都在实习出差,天天加班到九点,之前准备的都忘得差不多了…/
tcp三次握手,四次挥手
算法:数组中只有000111元素排序,时间复杂度

项目是用http还是https访问的。答:https。
http 1.0 和 http 2.0的区别?
说下https 的请求过程。
说说ssl四次握手的过程。
在java 7 和 java 8中GC的区别。
看你的项目上面有做大文件的分片上传,在上传的过程可以做其他的事情吗?是否可以后台运行?多个task是在一个进程中运行吗?
数据库建索引有哪些考虑?
之前保存文件分片序号的时候会出现脏读的情况,如何防止脏读?
事务隔离是怎么做的?
304状态码有什么含义?
服务端是如何实现的?
二面技术和算法问的比较少,全程都在谈人生理想和职业规划。
算法1在一个给定数组中找到最大的两个数。为什么很多类要定义成抽象类?三面22号星期二,接到hr面试预约电话。24号下午视频面。面试官看起来斯斯文文的,亲和力也很好。自我介绍之后面试正式开始。
java基础:
ConcurrentHashMap
1.7和1.8的实现有什么不同。
get() 和 size()是否要加锁?
如何加锁?
泛型在编译期和运行期的作用。
线程池是如何创建的?
需要几个参数?
分别是什么含义?
锁:
乐观锁和悲观锁的区别。
乐观锁和悲观锁的实现。(
数据库、Java)
CAS syncronized实现有什么区别。
violate关键字。
数据库:
数据库索引结构。
数据库对sql语句的解析过程。
JVMJVM GC的优缺点。
假设一个场景,要求 stop the world时间非常短,你会怎么设计垃圾回收机制?
有没有用过JVM相关工具?
算法海量数据top K算法,讲一下思路。
设计模式策略模式和XX模式的区别。(这里因为没有看过其他设计模式,当时问这个题目的时候脑袋都是懵的。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值