|
P7 笔试题(108道)集锦
- junit 用法,before,beforeClass,after, afterClass 的执行顺序
- 分布式锁
- nginx 的请求转发算法,如何配置根据权重转发
- 用 hashmap 实现 redis 有什么问题(死锁,死循环,可用 ConcurrentHashmap)
- 线程的状态,线程的阻塞的方式
- sleep 和 wait 的区别
- hashmap 的底层实现
- 一万个人抢 100 个红包,如何实现(不用队列)如何保证 2 个人不能抢到同一个红包,可用分布式锁
- java 内存模型,垃圾回收机制,不可达算法
- 两个 Integer 的引用对象传给一个 swap 方法在方法内部交换引用,返回后,两个引用的值是否会发现变化
- aop 的底层实现,动态代理是如何动态,假如有 100 个对象,如何动态的为这 100 个对象代理
- 是否用过 maven install。 maven test。git(make install 是安装本地 jar 包)
- tomcat 的各种配置,如何配置 docBase
- spring 的 bean 配置的几种方式
- web.xml 的配置
- spring 的监听器。
- zookeeper 的实现机制,有缓存,如何存储注册服务的
- IO 会阻塞吗?readLine 是不是阻塞的
- 用过 spring 的线程池还是 java 的线程池?
- 定时器用什么做的
- 线程如何退出结束
- java 有哪些锁?乐观锁 悲观锁 synchronized 可重入锁 读写锁,用过 reentrantlock 吗?reentrantlock 与 synmchronized 的区别
- ThreadLocal 的使用场景
- java 的内存模型,垃圾回收机制
- 为什么线程执行要调用 start 而不是直接 run(直接 run,跟普通方法没什么区别,先调 start,run 才会作为一个线程方法运行)
- qmq 消息的实现机制(qmq 是去哪儿网自己封装的消息队列)
- 遍历 hashmap 的三种方式
- memcache 和 redis 的区别
- mysql 的行级锁加在哪个位置
- ConcurrentHashmap 的锁是如何加的?是不是分段越多越好
- myisam 和 innodb 的区别(innodb 是行级锁,myisam 是表级锁)
- mysql 其他的性能优化方式
- linux 系统日志在哪里看
- 如何查看网络进程
- 统计一个整数的二进制表示中 bit 为 1 的个数
- jvm 内存模型,java 内存模型
- 如何把 java 内存的数据全部 dump 出来
- 如何手动触发全量回收垃圾,如何立即触发垃圾回收
- hashmap 如果只有一个写其他全读会出什么问题
- git rebase
- mongodb 和 hbase 的区别
- 如何解决并发问题
- volatile 的用途
- java 线程池(好像之前我的理解有问题)
- mysql 的 binlog
- 代理模式
- mysql 是如何实现事务的
- 读写分离何时强制要读主库,读哪个从库是通过什么方式决定的,从库的
- 同步 mysql 用的什么方式
- mysql 的存储引擎
- mysql 的默认隔离级别,其他隔离级别
- 将一个链表反转(用三个指针,但是每次只发转一个)
- spring Aop 的实现原理,具体说说
- 何时会内存泄漏,内存泄漏会抛哪些异常
- 是否用过 Autowire 注解
- spring 的注入 bean 的方式
- sql 语句各种条件的执行顺序,如 select, where, order by, group by select xx from xx where xx and xx order by xx limit xx; 如何优化这个(看 explain)
- 统计 100G 的 ip 文件中出现 ip 次数最多的 100 个 ip
- zookeeper 的事物,结点,服务提供方挂了如何告知消费方
- 5 台服务器如何选出 leader(选举算法)
- 适配器和代理模式的区别
- 事务隔离级别
- 门面模式,类图(外观模式)
- mybatis 如何映射表结构
- 二叉树遍历
- 主从复制
- 静态内部类加载到了哪个区?方法区
- class 文件编译后加载到了哪
- web 的 http 请求如何整体响应时间变长导致处理的请求数变少,该如何处理?用队列,当处理不了那么多 http 请求时将请求放到队列中慢慢处理,web 如何实现队列
- 线程安全的单例模式
- 快速排序性能考虑
- volatile 关键字用法
- 求表的 size,或做数据统计可用什么存储引擎
- 读多写少可用什么引擎
- 假如要统计多个表应该用什么引擎
- concurrenhashmap 求 size 是如何加锁的,如果刚求完一段后这段发生了变化该如何处理
- 1000 个苹果放 10 个篮子,怎么放,能让我拿到所有可能的个数
- 可重入的读写锁,可重入是如何实现的?
- 是否用过 NIO
- java 的 concurrent 包用过没
- sting s=new string("abc")分别在堆栈上新建了哪些对象
- java 虚拟机的区域分配,各区分别存什么
- 分布式事务(JTA)
- threadlocal 使用时注意的问题(ThreadLocal 和 Synchonized 都用于解决多线程并发访问。但是 ThreadLocal 与 synchronized 有本质的区别。synchronized 是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而 ThreadLocal 为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。而 Synchronized 却正好相反,它用于在多个线程间通信时能够获得数据共享)
- java 有哪些容器(集合,tomcat 也是一种容器)
- myisam 的优点,和 innodb 的区别
- redis 能存哪些类型
- http 协议格式,get 和 post 的区别
- 可重入锁中对应的 wait 和 notify
- redis 能把内存空间交换进磁盘中吗(这个应该是可以的,但是那个面试官非跟我说不可以)
- java 线程池中基于缓存和基于定长的两种线程池,当请求太多时分别是如何处理的?定长的事用的队列,如果队列也满了呢?交换进磁盘?基于缓存的线程池解决方法呢?
- synchronized 加在方法上用的什么锁
- 可重入锁中的 lock 和 trylock 的区别
- innodb 对一行数据的读会枷锁吗?不枷锁,读实际读的是副本
- redis 做缓存是分布式存的?不同的服务器上存的数据是否重复?guavacache 呢?是否重复?不同的机器存的数据不同
- 用 awk 统计一个 ip 文件中 top10
- 对表做统计时可直接看 schema info 信息,即查看表的系统信息
- 公司经验丰富的人给了什么帮助?(一般 boss 面会问这些)
- 自己相对于一样的应届生有什么优势
- 自己的好的总结习惯给自己今后的工作带了什么帮助,举例为证
- 原子类,线程安全的对象,异常的处理方式
- 4 亿个 int 数,如何找出重复的数(用 hash 方法,建一个 2 的 32 次方个 bit 的 hash 数组,每取一个 int 数,可 hash 下 2 的 32 次方找到它在 hash 数组中的位置,然后将 bit 置 1 表示已存在)
- 4 亿个 url,找出其中重复的(考虑内存不够,通过 hash 算法,将 url分配到 1000 个文件中,不同的文件间肯定就不会重复了,再分别找出重复的)有 1 万个数组,每个数组有 1000 个整数,每个数组都是降序的,从中找出最大的 N 个数,N<1000
- LinkedHashmap 的底层实现
- 类序列化时类的版本号的用途,如果没有指定一个版本号,系统是怎么处理的?如果加了字段会怎么样?
- Override 和 Overload 的区别,分别用在什么场景
- java 的反射是如何实现的
- ......
P7 笔试题(108道)集锦
Google面试真题集锦(含解析)
- 第一个的题目(嗯,记的不是很完整):在一棵(排序?)二叉树中搜索指定值,数据结构定义为(唉唉,数据结构的具体名字都不记得了,my god):
- 第二个的题目:计算 Tribonaci 队列(嗯,九成九记错了那个单词……),规则是 T(n) = T(n- 1) + T(n - 2) + T(n -3),其中 T(0) = T(1) = 1,T(2) = 2。
- 第三个的题目:在一个无向图中,寻找是否有一条距离为 K 的路径,描述算法即可,不用实现,分析算法的时间和空间复杂度,尽量优化算法。
- 第四个题目......
Google面试真题集锦
华为面试真题集锦(含解析)
- 面向对象的特征有哪些方面
- String 是最基本的数据类型吗?
- int 和 Integer 有什么区别
- String 和 StringBuffer 的区别
- 运行时异常与一般异常有何异同?
- 说出 ArrayList,Vector,ArrayLlinkedListd 的存储性能和特性
- 设计 4 个线程,其中两个线程每次对 j 增加 1,另外两个线程对 j 每次减少 1。写出程序。
- JSP 的内置对象及方法。
- 说出 Servlet 的生命周期,并说出 Servlet 和 CGI 的区别。
- 给你一个:驱动程序 A,数据源名称为 B,用户名称为 C,密码为 D,数据库表为 T,请用 JDBC 检索出表 T 的所有数据。
- ......
- 存储过程和函数的区别
- 事务是什么?
- 游标的作用?如何知道游标已经到了最后?
- 触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
- ......
华为面试真题集锦
注意注意:有需要完整版各大厂面试真题及解析的可以后台私信 “面试”,免费领取哟~
腾讯面试真题集锦(含解析)
- 10 个数顺序插入查找二叉树,元素 62 的比较次数
- 10 个数放入模 10hash 链表,最大长度是多少
- fun((exp1,exp2),(exp3,exp4,exp5))有几个实参
- 希尔 冒泡 快速 插入 哪个平均速度最快
- 二分查找是 顺序存储 链存储 按 value 有序中的哪些
- *p=NULL *p=new char[100] sizeof(p)各为多少
- 频繁的插入删除操作使用什么结构比较合适,链表还是数组
- 把字符串转换为小写,不成功返回 NULL,成功返回新串
- 把字符串转换为整数 例如:"-123" -> -123
- linux 下调试 core 的命令,察看堆栈状态命令
- 写出 socks 套接字 服务端 客户端 通讯程序
- ......
腾讯面试真题集锦
迅雷面试真题集锦(含解析)
迅雷面试真题集锦
百度面试真题集锦(含解析)
- 编程:用 C 语言实现一个 revert 函数,它的功能是将输入的字符串在原串上倒序后返回。
- 编程:用 C 语言实现函数 void * memmove(void *dest,const void *src,size_tn)。memmove 函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上
- 英文拼写纠错:在用户输入英文单词时,经常发生错误,我们需要对其进行纠错。
- 寻找热门查询:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为 1-255 字节。假设目前有一千万个记录,这些查询串的重复度比较高,虽然总数是 1 千万,但如果除去重复后,不超过 3 百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。请你统计最热门的 10 个查询串,要求使用的内存不能超过 1G。(1)请描述你解决这个问题的思路;(2)请给出主要的处理流程,算法,以及算法的复杂度。
- 集合合并:给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出 {aaa bbb ccc ddd hhh},{eee fff}, {ggg}(1)请描述你解决这个问题的思路;(2)请给出主要的处理流程,算法,以及算法的复杂度(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。
- ......
百度面试真题集锦
广东北电真题集锦(还有 E 文翻译+解析)
- 1. Tranlation (Mandatory)
CDMA venders have worked hard to give CDMA roaming capabilities via the
development of RUIM-essentially, a SIM card for CDMA handsets currently being
deployed in China for new CDMA operator China Unicom. Korean cellco KTFdemonstrated earlier this year the ability to roam between GSM and CDMA using
such cards.However,only the card containing the user’s service data can roam-not
the CDMA handset or the user’s number (except via call forwarding).
翻译:CDMA 开发商一直致力于 RUIM 卡的开发,以此赋予 CDMA 漫游的能力。RUIM 卡类似
于 SIM 卡,事实上目前它已经被中国的 CDMA 运营商中国联通广泛使用。韩国手机制造企业
KTF 今年早些时候展示了使用此种卡在 GSM 和 CDMA 网络中漫游的功能,但是,只有该卡包
含的用户服务数据能够漫游,CDMA 手机本身及用户号码则不能(除了呼叫前转业务)。
- 2. Programming (Mandatory)
Linked list
a. Implement a linked list for integers,which supports the insertafter (insert a node after a specified node) and removeafter (remove the node after a specified node) methods;
b. Implement a method to sort the linked list to descending order.
答:题目的意思是实现一个整型链表,支持插入,删除操作(有特殊要求,都是在指定节点后进行操作),并写一个对链表数据进行降序排序的方法。那我们不妨以一个线性链表进行编程。
a. For each of the following recursive methods, enter Y in the answer box if themethod terminaters (assume i=5), Otherwise enter N.(题目意思:判断下面的递归函数是否可以结束)
广东北电真题集锦(还有 E 文翻译+解析)
总结
以上给大家分享的一线互联网企业“P7面试题”集锦以及百度、中兴、腾讯、华为、迅雷、Google等各个大厂的面试真题集锦+解析,有需要的朋友可以免费分享,关注一下免费领取方式:
转发+转发+转发+私信关键词 “面试” 即可免费领取!!!
一线互联网P7面试集锦+各种大厂面试集锦 |
|