-
Shan
-
20/2/25 阿里云
- 自我介绍太生硬
- 一般用什么语言,用过什么Java的数据结构,List包含哪些,ArrayList和LinkedList的区别,队列应该用ArrayList还是LinkedList实现
- Leetcode 17,提示用队列
- hashcode相同的对象是否一定相等,有什么用
- TCP和UDP的区别和应用场景
- 一般用什么数据库,乐观锁悲观锁的区别和应用场景,悲观锁不上锁那别的进程修改了怎么办
- 研究生学过的课,考研比较擅长的课
- 三次握手,传了SYN为什么还要传ACK
- 对Maven的理解,Maven的生命周期、命令
- 了解什么新的技术,希望从事哪方面的工作,对于云计算有什么了解
- 反问有什么不足可以改进:断点debug,基础,java工程化经验(Maven原理)
-
20/2/28 钉钉
- I am @!#$software1234engineer1234输出engineer software am I
- 如何一次循环O(n)时间
- 项目:项目是商业应用吗,上线了吗,你是负责什么的,shiro是做什么用的,用户角色权限目录之间的关系,用户怎么查到权限,用户角色权限的存储,多对多关系的存储,用户角色权限设置了哪些接口,shiro是怎么和持久化框架连到一起的,为什么选择shiro简化了哪些工作,法规搜索用到什么技术,部署到服务器使用什么技术
- http状态码,4和5的区别
- 服务器超时,前端怎么处理
- http协议的原理
- 前端请求后端数据的技术,数据格式是什么,json的特点,json和xml的区别和好处
- 知道哪些Java集合类,List知道哪些,ArrayList是线程安全的吗,有哪些线程安全的List,你如何实现线程安全的List
- 为什么要有多线程并发
- 实现线程同步的方法,volatile的特性
- 实现多线程的方法,线程池有哪些,线程池的好处,固定长度的线程池和可变长度的线程池各有什么优缺点
- 数据库是怎么用数据结构优化存取时间的
- 索引有哪些,聚合索引的机制,最左前缀匹配,abc三个字段组成一个聚合索引,查询bc可以用到这个索引吗
- 反问这个岗位最重要的品质:技术和落地
-
20/3/2 钉钉二面
- 自我介绍
- 项目中遇到什么问题,如何解决,原理是什么
- SpringBoot(跟Spring的区别)、JPA(跟MyBatis的区别)、Shiro介绍
- 项目怎么继续优化,elasticsearch和solr的原理是什么
- JVM区域划分,Java类是怎么加载到内存的(类加载的步骤)
- 用户如何获取到权限,如何说服甲方避免从用户直接获取到权限
- 反问这个岗位最重要的品质:基础知识和项目
-
20/3/3 淘宝
- 自我介绍
- 兴趣爱好
- 项目:shiro的作用(认证、授权),法规检索为什么是自己做的不用ES,项目的结构框架(一开始我说Maven,后来他说不是这个意思,是指项目的层次结构),有没有把实验室和课程中学到的知识运用到项目中,Scrapy爬虫框架的结构介绍(spider、中间件、pipeline),反爬机制有哪些(IP池、UA、减慢速度),知不知道网站如何防爬,为什么爬虫要用到关键词提取、命名实体识别,为什么选HanLP,有没有试过其他的自然语言处理工具
- 项目中遇到的最大的问题,解决的原理
- 选过什么课,成绩怎么样,分词算法知道哪些
- 怎么学习(书、网上的博客、和同学交流),看过什么书,哪本书的哪一部分比较映像深刻,书上说的有自己动手实践过吗,觉得自己Java学得怎么样
- 垃圾收集器的原理和算法,FullGC的触发条件,CMS垃圾收集器的算法
- 类加载器的原理,类加载器怎么破坏双亲委派机制
- Java新特征(lambda表达式、方法引用、G1垃圾收集器),G1垃圾收集器介绍
- Atomic的原理
- 悲观锁和乐观锁介绍和应用场景
- 三次握手,滑动窗口有什么用
- IO有哪几种(BIO、NIO、AIO),它们各自的特点和区别,知道select、poll、epoll吗
- 数据结构本科应该学过吧,平衡二叉树介绍
- hashmap、hashtable、concurrenthashmap的区别和原理,源码看过吗,hashmap的key可以是可变的吗,会遇到什么问题,是在编译阶段遇到问题还是运行阶段遇到问题,concurrenthashmap为什么高效
- 线程池的好处,如果内存足够,线程池里的线程是越多越好吗
- leetcode 181 SQL,内连接、左外连接、右外连接、全连接的区别
- 文件读写、外部排序、怎么优化(多线程缓存队列)
- 反问你认为你们团队的技术氛围怎么样
-
20/3/7 CBU
- 介绍一下项目里用到的技术,在项目中扮演的角色,java接触多久,框架怎么学习,除了shiro还知道什么认证授权的组件,项目里的选型是谁选的
- shiro怎么处理分布式的情况(可以把用户的信息密码这些放到各个主机里,然后每次用户登录都去对应的主机取数据)
- concurrent包有哪些组件(concurrenthashmap copyonwritearraylist),用过吗
- 重写equals方法需要注意什么,为什么要重写hashcode方法
- 讲一下双亲委派模型
- 反问实习生会受到什么培训,负责什么工作:会有师兄一对一带的,阿里的培训还是很完善的
-
20/3/10 淘宝
- 项目:是商业项目吗,IP池,公开的IP是服务器吗,为什么可以绕过封锁,命名实体识别那些是干吗的,thinphp框架的结构,thinkphp前端怎么获取后端数据,thinkphp怎么管理事务,权限管理解释一下
- http的原理,状态是存在哪里,session如何得到用户对应的数据,http协议数据格式,有什么重要的数据
- java并发包用过哪些,hashmap和concurrenthashmap的区别,hashmap的死循环问题
- nio举个例子说明有什么用
- 类型擦除
- 数据库的一致性举个例子说明一下
- 双亲委派模型,为什么要双亲委派
- 项目里用到什么设计模式,工厂设计模式和单例设计模式不算
- 编程题:两种方法实现二叉树层数
- 反问实习生会受到什么培训,负责什么工作:走阿里的程序,有转正答辩,流程还是比较复杂的
-
20/3/11 飞猪
- 自我介绍
- 项目:智能执法平台介绍,认证授权的过程,shiro的原理,IP池怎么维护,法规检索怎么做的,词典保存在哪里,顺排索引和倒排索引的区别,怎么优化测试IP时的时间消耗(用一个线程专门检查IP的可用性)
- 怎么学习
- hashmap的原理和数据结构,hashmap可以多线程吗,会出现什么问题,concurrenthashmap加的是什么锁,JDK1.8做了什么改动
- java内存分区,虚拟机栈和本地方法栈的区别,CMS垃圾回收器,标记-清除算法有什么缺点,怎么解决
- 创建线程的方法,callable和runnable有什么区别,不返回运行状态可以用callable吗,线程池的特性(分类?),线程池的参数
- 出现OOM异常怎么排查,怎么看哪里有问题,CPU占用过高怎么排查,用什么命令看
- 反问实习生会受到什么培训,负责什么工作:培训一下阿里的价值观,写业务,但是会有师兄带
-
20/3/13 CBU
- 自我介绍,有没有实习过,单位是做什么的
- 怎么设计线程池(用一个容器放线程,用一个变量存当前线程个数,然后用一个队列存阻塞的线程),怎么设计阻塞队列,要考虑什么问题
- 垃圾怎么清理(GCRoots向下追溯,分代收集),这是第一步,然后怎么清理
- 设计模式,代理设计模式
- spring加载的过程
- 怎么设计数据库表
- 项目:是不是分布式的,检索的原理,为什么不用倒排索引
- 反问实习生会受到什么培训,负责什么工作:跟大学里一样有一些公开的讲座,也是要靠自己自觉去学
-
20/3/16 阿里妈妈
- 笔试两天之前发的:日志统计出现次数并排序
- 代码是你写的吗,解释一下思路,觉得复不复杂
- 如果日志是海量数据怎么处理(散列成小文件),有什么问题吗
- 项目里会写注释吗,会分函数吗,了解过Java代码的规范吗
- 怎么定位慢SQL,explain的字段有哪些,type字段最好到最差怎么排序
- java怎么连数据库,MyBatis用过吗
- 有没有做过安卓、iOS开发
- 有没有做过线上的JVM错误排查
- 怎么限流,有没有做过,服务依赖、服务降级
- 网络安全:跨脚本攻击、XSS、SQL注入
- 有没有用过阿里云、腾讯云
- HTTP协议是有状态的协议吗,302、500什么意思
- 项目哪个最复杂,有多人协作吗,多人管理项目的流程
- 怎么学习,毕业以后的打算
- 反问实习生会负责什么工作:广告的业务
-
20/3/30 美团
- 自我介绍
- 项目介绍:并查集,Maven怎么控制版本,Maven的生命周期
- 跳表介绍,有什么缺点
- OSI 7层模型,HTTP的过程,DNS的步骤,HTTP的幂等性,get请求和post请求的区别
- TCP的三次握手、四次挥手,为什么握手三次,挥手四次
- 双亲委派模型,三个级别的类加载器的功能
- java.lang.String写个一模一样的可以运行吗,会报错吗
- HashMap,100个元素要建多大的HashMap,负载因子是什么,默认是多少
- 重写equal不重写hashcode会怎么样,会报错吗,重写hashcode要注意什么,一个学生的学号、姓名、性别、地址应该怎么计算hashcode,hash函数(除方法、乘方法)
- Java堆(分代收集,新生代、老年代),YoungGC和FullGC的触发条件
- 线程有哪些状态,怎么转换,死锁
- 线程池介绍(线程池的优点,4种线程池,构造函数的参数)
- MySQL的ACID,隔离级别,默认是什么隔离级别,解决了什么问题,脏读和幻读解释一下
- SQL:表中有学生学号、课程、成绩,找出学生的课程总分在一个范围内的学号
- 算法题:走台阶
- 反问实习生负责什么业务:写Java,到店事业群,围绕一台机器的业务
-
20/4/1 Zoom
- 自我介绍,项目介绍
- JPA的一对一一对多多对多关系优化,全自动框架怎么优化SQL
- AOP介绍,织入顺序怎么解决
- 用Java定时启动一个请求怎么实现
- InterruptException是怎么引起的
- 主线程得不到子线程句柄,不能interrupt子线程,怎么退出主线程,有什么参数
- ArrayList和LinkedList的区别和应用场景
- ArrayList和LinkedList是线程安全的吗,JDK有什么自带的线程安全的List
- HashMap:保证equals和hashcode相等,key的字段可以修改吗?Bean对象有多个字段,怎么重写hashcode?
- 口头算法题:Arraylist.removeAll(Set)怎么实现
- 口头算法题:abcoefp找包含aop的最短字符串,顺序无所谓
- 导致线程不安全的原因,除了竞争还有什么
-
20/4/8 快手
- 自我介绍
- MySQL引擎有哪几种,InnoDB和MyIsam的区别,mvcc介绍
- B树和B+树的区别
- 组合索引,ab的组合索引where b能用吗,abc的组合索引创建几个B+树,ab、ac两个组合索引where a会用哪个
- TCP的三次握手、四次挥手,序列号,TIME_WAIT是在哪个阶段
- 滑动窗口介绍,有什么用
- volatile,除了可见性还有什么语义
- hashmap、concurrenthashmap、hashtable
- threadlocal
- 算法题:单例,行有序列有序矩阵查找,带随机指针的链表复制,一万亿数据排序,归并k个列表
- 反问实习生负责什么业务:实习生做什么他也不知道,但是他们组是做流的推送、视频上传、评论点赞
-
20/4/9 快手二面
- 数组和链表插入删除的时间复杂度
- 二叉平衡排序树查找的时间复杂度
- 边密集的情况下怎么找到最小生成树,kruskal和prim的区别,成环怎么办
- 建堆的时间复杂度
- 数组增长再下降怎么求最大值
- 查找子串,时间复杂度,kmp的思想,动态规划的思想
- http和https除了加密还有什么不同
- http请求报文和响应报文是一样的吗,http请求报文首部字段(host、语言、编码),是什么的语言和编码,语言的英文
- nio和io的区别,nio选择器怎么选择通道
- XXXX(没听说过)
- int和Integer的初值,可以直接给实例变量设值吗
- atomicinteger的原理,cas发现不一样会怎么样(乐观锁也有悲观的时候)
- 新建对象怎么到堆里的,大对象是直接进老年代吗,有什么机制
- servlet和spring的区别
- aop的实现原理(动态代理,JDK,CGLib),为什么没有接口只能用cglib
- aop的实现方法(说成事务的实现方法了)
- 注解的原理
- spring项目怎么部署到服务器
- springboot为什么不用配置web.xml,如果要配置怎么配置
- 有没有用过zookeeper和kafka
- 会不会git,merge和rebase
- linux常见命令,服务器拷文件怎么拷(scp, ftp),linux怎么找到java进程(jps,他问你确定,ps -aux | grep)
- 算法题:实现一个k-v的内存计数类,功能包括添加、删除、查询、自增四个功能(提示要线程安全,concurrenthashmap,提示要用原子变量)
- 反问有什么学习建议:近期找工作的学习要熟悉API,算法还可以
-
20/4/9 OPPO
- 自我介绍
- 什么专业,擅长什么
- 项目介绍,代理IP为什么是可以爬到并且是免费的,Scrapy爬虫框架介绍,爬虫项目中遇到的比较难解决的问题
- 如果自己实现爬虫请求调度系统怎么实现(阻塞队列),请求怎么去重(concurrenthashmap),有concurrenthashset吗,map与set比会不会浪费内存,分布式怎么优化(redis集群),如果缓存断电丢失了数据,而文件持久化不是实时的怎么办(主从机制,他说直接忽略也可以,大不了再爬一次),怎么保证缓存和数据库的一致性(写入的时候先删除缓存再更新数据库,读取的时候先读缓存再读数据库再写入缓存),写入的时候先删除再更新数据库再写入缓存行不行
- 线程池参数、运行流程,如果阻塞队列用linkedhashmap会有什么问题
- Spring运行run之后的加载的原理(讲了ioc容器,他说不熟悉的话我们换个话题)
- concurrenthashmap介绍,为什么h|h>>16,为什么&(n-1)
- 对每个网络io建立一个连接会有什么问题(时间、内存),如何解决(连接池),如何解决上述问题
- 会不会netty,nio介绍,epoll介绍,看我不太会给我讲了下,建议我学一下netty
- 口头算法题:数组中的数范围为0~n-1,有一个数重复,常数空间怎么找出来
- 口头算法题:层次遍历二叉树
- 反问实习生负责什么业务:云当中底层组件、中间件的开发,不用写很多代码,但是对代码质量要求比较高
-
20/4/11 作业帮
- 第二个项目他比较感兴趣介绍一下,有什么可以改进的地方,学到了什么
- 第一个项目用户怎么获取到权限,如果让你改成用户不直接关联权限怎么做,写个脚本修改会遇到什么问题,数据库表是怎么设计的
- 数据库B+树的特点,ACID是什么,ACID怎么保证
- 算法题:顺时针旋转输出二维矩阵
- 算法题:next permutation,34521
- 反问实习生负责什么业务:业务接口的开发
-
20/4/12 口碑
- 什么时候毕业,愿意来杭州吗
- 熟悉的技术介绍,java写了多久了,写过多少代码,两年只写了一万?
- 项目介绍,用户认证是小程序登录利用api实现的还是怎么做的,项目中遇到的比较难解决的问题
- 面对对象的理解介绍(封装继承多态),多态怎么实现,实现原理是什么,或者你会怎么实现
- 什么课学得比较好(数据结构网络),java中常用的数据结构(arraylist、linkedlist、hashmap、treemap、hashset),栈用过吗,有什么用(先进后出,括号匹配、字符串求值),如果翻转一个字符串怎么写
- TCP介绍(三次握手四次挥手,滑动窗口,可靠连接,流量控制,拥塞控制),TCP和UDP的区别,为什么要三次握手,只握两次不行吗,为什么要四次挥手,只挥后面两次不行吗
- 数据库用过什么,事务的ACID,隔离性解释一下,事务的隔离级别,默认是什么隔离级别,解决了什么问题,幻读解释一下
- 知道什么设计模式(观察者代理策略单例工厂),观察者模式介绍,有什么用(基于事件的编程),代理模式介绍,代理模式实现原理,项目中用到什么设计模式(aop用到代理模式),他说不算要自己写的(随便说了个工厂模式建立数据库连接)
- 分布式了解吗,把你的理解说一下(说了反向代理)
- 在看什么书(并发jvm网站架构),有什么觉得掌握得比较好的(hashcode equals concurrenthashmap),concurrenthashmap有什么你觉得设计得比较好的地方,使得它比较高效(对于每个数组结点加锁,如果是null会用cas添加,如果是forward会帮助扩容,不是的话会加synchronized),null的时候cas是怎么添加的(循环、unsafe)
- 反问实习生负责什么业务:跟正式员工一样,但是可能有一两个星期熟悉
- 可以实习多久
-
20/4/14 微软上海
- 一面:自我介绍,算法题:a的n次方,编写测试用例,浮点数,负数,0的0次方,二分,还能怎么优化
- 二面:自我介绍,项目介绍,项目中遇到的问题或者难点,了解JVM和类加载吗,多线程有什么principle,竞争,栈和队列,算法题:怎么用栈实现队列,设计模式,单例双重检查,还有什么其他的写法,实习中学到了什么,有没有遇到过团队中的分歧,怎么解决,自己的优缺点,怎么学习,看了什么书,反问实习生负责什么业务,不同组不同,有的是直接加入到组里的项目
-
20/4/15 作业帮二面
- 自我介绍,项目介绍
- 算法题:输出每个岛屿面积,dfs
- HTTP的过程
- 拥塞控制
- cookie和session
- MySQL索引的数据结构,B+树和B树有什么区别,聚簇索引和非聚簇索引,a>0走索引吗,a!=0走索引吗
- MySQL事务的实现原理,ACID,原子性的实现原理
- 线程安全
- JVM垃圾回收
- 线程和进程有什么区别
- 操作系统Linux线程通信
- 设计模式,策略模式,面对对象的原则
-
20/4/16 美团二面
- 自我介绍,项目介绍
- 服务器限制IP的机制原理
- HTTP请求报文,请求行、请求首部有哪些
- 代理IP的原理,工作在传输层还是应用层,怎么代理的
- 用户复制一个没有权限的URL怎么办
- 实习部署到服务器上有几台机器,session集群
- 代码题:List删去负数,写了个双指针,他意思是用迭代器
- List迭代器插入another,然后list=another可不可以
- 一个对象中两个synchronized方法可以一起进去吗,两个synchronized静态方法可以一起进去吗
- 代码的事务和数据库事务的联系,怎么保证多个小系统组成的大系统的事务
- JPA和Hibernate的关系,JPA和SpringDataJPA
- 数据库连接池和JDBC有什么区别
- 反问学习建议:感觉没怎么写过代码
- 北京读大学,杭州人为什么不投阿里,实习时间
-
20/4/17 网易云音乐
- 自我介绍,项目介绍
- 并查集是什么,解决什么问题,在项目里场景下的作用,ES倒排索引、查询的原理,怎么找到近义词,除了词向量还有什么方法
- 爬虫多线程设计,IP池如何优先选取响应时间短的,如果不能联通还能有机会用吗
- 算法题:最长公共子串和最短编辑距离哪个比较熟悉,写了个最长公共子串,他说是子序列又改成子序列
- 线程通信的方法,countdownlatch的原理
- 最近的学习,想往什么方法发展
- 反问实习生负责什么业务:看分到什么组,其他网卡没听清
-
20/4/18 百度一面
- 自我介绍
- 项目介绍
- 爬虫的爬取速度,怎样实现多线程
- ES和MySQL有什么区别,怎么优化,项目里用了几台服务器(奇数台),多少内存
- MySQL关系型数据库和Mongo、Redis非关系型数据库有什么区别,如果有复杂的查询逻辑应该选择关系性还是非关系性
- 数据库B+树,B树,B-树有什么区别
- 给字段加索引的语句
- 数据表很大,怎么优化,如果不水平分区还能怎么优化速度(limit, *)
- 10万数据找10个最小的怎么找,时间复杂度
- JVM垃圾回收
- 怎么样会内存泄漏,项目里遇到过吗
- 线程同步的方法
- SpringBoot讲一下
- AOP讲一下
- Spring的模块
- 迭代器的原理,跟循环有什么不一样
- 反问实习生负责什么业务
-
20/4/18 百度二面
- 自我介绍
- 项目介绍
- 面对对象编程特点封装、继承、多态介绍
- Redis有什么用
- JVM垃圾回收
- 新建线程的方法
- hashmap的原理、数据结构
- 线程池的优点
- 数据库ACID,怎么实现
- 设计模式,单例介绍,double check怎么加锁的
- JVM中的什么区域会OOM
-
20/4/18 百度三面
- 自我介绍
- 项目当中的难点
- 有什么前几轮面试没回答好的问题吗
- Spring、SpringMVC、SpringBoot、SpringCloud的区别
- 网站除了bug还有什么指标,让你来优化网站速度怎么优化
- 最近两年互联网比较火的词,区块链的特性知道吗,知道容器和微服务吗,知道云原生吗
- 对未来十年互联网发展的展望,未来的个人发展展望
- 上课你觉得老师讲错了,会怎么做
- 工作的优先级怎么安排,紧急不重要和不紧急重要先做哪个
- 近一年从实习中学到了什么,优点和缺点,为什么选择百度,希望从百度实习中学到什么
- 了解百度的新闻吗,对百度这几年的发展有什么看法,了解什么百度的产品,喜欢什么产品
- 关注过GitHub开源项目吗,提过issue吗
- 项目做过code review吗
- 了解python,java 100分的话,python能打几分
- 软件工程了解吗
- 实验室放暑期实习吗,放日常实习吗,哪里人
- 反问实习生负责什么业务:因为是统一招聘,要看分到什么组,他们是做软件工程的动静态工具开发
-
20/4/18 口碑二面
- 自我介绍
- 项目介绍
- 数学建模介绍,为什么能拿奖,扮演什么角色,编程中遇到什么问题
- 为什么用logstach来转移数据,ES的原理,倒排索引和正排索引的区别
- 爬了哪些数据,程序编写的过程,网站有哪些反爬机制(ip、ua、用户行为),爬虫能应对哪些反爬机制,代理服务器的原理,除了转发HTTP报文还有其他方法吗,有没有出现用户登录的页面,怎样解决,模拟用户行为的原理(内置浏览器)
- 了解什么java的工具和框架
- hashmap原理,可以并发吗,为什么并发时JDK1.8尾插法会出现结点缺失
- springboot用到哪些功能
- springboot介绍一下
- 笔试为什么0分,有什么思路吗
- 反问 了解到团队负责业务开发,实习生具体会负责什么业务:支付宝点进去口碑的那些业务
-
20/4/21 华为
- 自我介绍
- 项目介绍
- lambda用过吗,跟传统的写法有什么区别
- JVM了解吗,讲一下
- Java会出现内存泄漏吗,项目中遇到过吗
- 项目里有并发吗
- JPA和JDBC的区别,有什么好处
- 有没有写过前端
- 路由器讲一下,怎么规划路径
- 机器学习了解吗,推荐系统介绍
- 算法题:最长回文子串,中心扩展,动态规划
-
20/4/22 网易云音乐二面
- 自我介绍
- 项目介绍
- 为什么选择shiro,shiro的原理,为什么要有security manager和认证器,返回的是什么数据
- 为什么要加盐,只加密不行吗,提示我如果我要破解会怎么做
- MD5是对称加密还是非对称加密,除了MD5还知道什么加密算法
- 了解什么设计模式,shiro当中用到什么设计模式,提示我角色包括管理员可以用工厂模式,你会用哪种工厂模式,为什么
- 从用户点击登录到收到结果的过程,HTTP和TCP的区别,TCP如何实现可靠连接,HTTP报文内容,TCP和HTTP两层之间报文的关系,TCP首部加入了什么数据
- 在操作系统层面,CPU和内存的机制,判断两个对象相等的过程中CPU、内存怎么运作(不懂,说了如何实现equals方法),对象和方法存在JVM的什么区,hashcode怎么实现,hash函数
- 如何快速学习某个技能
- 反问实习生会负责什么业务:可以自由选择组
-
20/4/24 网易云音乐HR面
- 自我介绍
- 其他面试情况
- 家是哪里的,有什么爱好,一般会去杭州哪里散步,为什么投网易云音乐,喜欢什么歌,怎么看待互联网工作的强度
- 项目介绍,项目背景,难点,遇到问题如何解决,收获,做了多久,有没有版本的迭代
- 怎么学习的,最近在学什么,看什么书
- 反问什么时候会有结果:她只是来负责面试的也不太清楚,大概要五一
-
20/4/27 微软北京
- 自我介绍
- 项目介绍,用过Kubernate和Docker吗,为什么不用ES来匹配近义词,除了调库有什么优化吗
- happens before,jmm
- GC的算法,如何判断对象是否要垃圾清理,GC Roots包括哪些,有JVM调优的经验吗,JVM做过哪些实验
- 网络和操作系统觉得学得怎么样,TCP为什么要三次握手,四次挥手TIME_WAIT的作用,半中断时客户端能向服务端发送吗
- 算法题:矩阵每行个数不定,往右上斜着遍历,时间复杂度,如果一行有几千万,其他行只有一个,怎么改进
- 口述算法题:给出一些边,求移动几条边可以使所有的点联通,无解返回-1
- 反问学习建议:做项目时可以深入学习一下
-
20/4/28 微软北京二面
- 自我介绍(就没了?)
- 项目介绍,除了调库还自己做了什么优化
- 算法题:二叉树和为目标值的路径,非递归
- 反问学习建议:做项目要深入学习原理,用了倒排索引要自己实现一遍倒排索引
-
-
Tang
-
20/3/11 淘宝
- 自我介绍
- 介绍下计算机网络分层模型
- http与https,介绍下https详细过程
- http1.0,http1.1,http2.0的区别,http长连接介绍一下
- get,post的区别
- jsonp以及ajax的区别
- 项目中前后端交互会不会出现乱码的情况?出现了怎么处理?(序列化为二进制字节并且使用时反序列化)
- 场景题:给定10亿个qq号,找出指定的10个,如何找?答:布隆过滤器
- 布隆过滤器的命中率是多少?(不知道,后来查询得看bit数组的大小m以及哈希函数的个数n来定,在guava中有布隆过滤器源码)
- 项目中为什么没用多线程?对各个接口请求的封装使用什么实现的?
- 介绍下elasticsearch的原理,并介绍与mysql的区别
- 知不知道什么是rpc
-
20/3/11 阿里云弹性计算
- 自我介绍
- 介绍下spring aop,底层是如何实现的(动态代理)
- 计算机网络三次握手以及四次挥手
- https的过程,介绍下对称加密以及非对称加密
- 介绍下你项目中用到的hsf,里面有什么角色,如果分布式服务中一个服务调用失败怎么处理?
- spring中什么是依赖注入?为什么要使用依赖注入?
- 介绍下红黑树、堆,并介绍下这两者插入过程以及删除过程会做哪些自适应的调整
- hashmap原理,concurrentHashmap原理,为什么不能插入(1,null)
- 介绍一下快速排序的整个流程
- threadLocal的原理,以及threadLocal使用时可能有哪些问题
- 线程池核心参数
- 介绍下b+树,为什么可以用来作为索引
- 你知道哪些设计模式
- 介绍一下shiro的流程
- redis的基本数据类型
- 介绍一下深度优先遍历以及广度优先遍历
- 介绍下垃圾回收算法以及垃圾回收器
- 如果一个链表有环,如何来判断
- 介绍下先序遍历,中序遍历,后序遍历
- 类的加载机制
- mysql的最左匹配原则
- 算法题1.leetcode 287找到数组中的重复值 。 2. 判断是否是二叉排序树
-
20/3/12 飞猪
- 自我介绍
- cpu使用过高,内存使用过高如何定位问题?
- 垃圾回收机制以及cms垃圾回收器
- cms垃圾回收器因为标记清除算法会有内存碎片产生,如何解决这个问题
- redis基础结构
- redis的单点登录怎么实现的
- redis中跳跃表如何实现的?为什么要使用跳跃表(跳跃表有range的概念)
- 线程池
- mysql优化,水平分区垂直分区如何实现
- 主键索引,唯一索引的区别,如何优化索引
-
20/3/14 cbu
- 介绍一下项目
- 介绍下jvm运行时内存
- 内存里什么时候会出现oom(堆,方法区,栈)
- 虚拟机栈与native栈的区别
- mysql的快照读以及当前读
- mysql的事务隔离机制
- hessian、hsf、diamond这分布式框架
- 分布式里网络如何对数据传输(我说了基于多路复用机制以及tcp长连接,但是还有数据的序列化)
- 算法题:K个有序链表合并成一个有序链表
-
20/3/14 阿里妈妈
- 介绍项目
- 如果你项目里线程池满了会怎么样
- 如果项目中有两个进程提供服务,一个进程占据了大部分cpu以及内存,这种情况希望另一个进程保持运行提供服务怎么办
- aop的思想,两种动态代理的区别,cglib动态代理可以代理实现有接口的类嘛
- redis的跳跃表以及查询时的时间复杂度
- cms垃圾回收器
- jvm运行时内存
- cms垃圾回收期的内存碎片如何处理(cms有自带的处理机制)
- mysql事务级别
- 可重复读可以阻止幻读嘛
- 海量数据题:找到20亿的int类型数据的中位数
- 算法题:判断是否对称列表
-
-
ashan
-
阿里云
- 介绍一下项目,用户登录的安全性怎么实现
- 数据库表索引怎么设计
- 计算机存储的位置、每个位置存储的速度、时间单位级别
- 从网络中读取数据的耗时在什么地方
- synchronized
- concurrentHashMap的底层实现,为什么使用CAS
- 单链表的序列化和反序列化
-
淘宝
- 介绍一下项目整体架构,你干了啥
- 为什么选择使用shiro?shiro的认证流程 使用shiro的好处
- Session在分布式架构中怎么存储(cookie),如果使用cookie会有什么问题怎么解决 如果禁cookie怎么办
- Hashmap底层结构(1.7 1.8)concurrenthashmap怎么保证高效地操作
- Atomic原子类 类加载过程 双亲委派模型
- 线程池优点、线程池的参数在什么场景下应该怎么配置、IO密集型线程跟CPU密集型线程的线程池参数怎么配置
- 轮流打印foobar
- 排序大文件
-
阿里云
- 如何自定义一个注解
- 类加载模型 双亲委派模型
- Springboot与springmvc的区别
- DI是怎么实现的
- 数据库表怎么设计比较快(索引(覆盖索引、单列索引)、sql优化)
- 有没有知道其他的数据库、非关系型数据库、分布式数据库
- 有没有接触过什么新技术、有使用过redis吗
- Redis的使用场景
- 按你的理解如何设计一个秒杀系统
- 在低并发的场景下,如何保证redis与数据库的数据一致性
-
淘宝
- Shiro的原理
- Session的持久化问题
- 登录人数的统计问题
- 用户关闭了网页,服务器知道,并让用户登出
- 如果有了用户违反了一些操作,怎么禁用这些用户的任何操作和登录(禁止token)
- 线程的五个状态、做什么操作会使线程变为block状态
- 多个共享变量的并发问题(悲观锁乐观锁)
- AomicLong跟LongAdder的区别
- 使用Random生成 1~1亿的数字到文件中,如何保证不重复、单线程和多线程环境下
-
钉钉
- 数据库锁(表级锁、行级锁、意向锁)
- Jvm内存区域 垃圾回收算法 OOM的原因,内存泄漏的原因
- Java1.8 1.9 1.10的区别 jdk源码中用到了哪些设计模式
- Shiro的过程,如果这个人的角色权限信息修改了,session中这个人的信息应该怎么办
- https的过程
- cms怎么处理内存碎片
- like是否能使用索引
-
飞猪
- 用户登陆的过程(实质上就是一次浏览器请求页面的过程)
- 如果项目的qps很高的话项目怎么设计(分布式)
- Redis的雪崩 怎么解决
- Servlet知不知道 他的生命周期
- 线程池的使用,应该注意哪些问题,原生的线程池有哪些隐患
- Springboot为啥能提供服务(因为有tomcat) tomcat你知道有啥东西吗,或者能配置什么东西 项目怎么配置运行过程中的jvm一些信息
- Cpu怎么排查
- 怎么查看进程的信息,有没有导出过dump文件,你能看到什么东西
- Mysql索引结构 为啥不用b树用b+树 like能否走索引 为什么%在前面不能走,在后面能走
- 服务集群了解过没
- Rpc是什么,java原生的rpc知不知道 rmi知不知道
-
-
xiong