百度java研发实习生面试经验

面试结果未知, 感觉有些涉及多线程的东西我的理解不是太深, 没法讲的特别好.

一面

介绍简历上资讯网站项目功能模块设计, 用户群体;

Java Collection框架

ArrayList, LinkedList介绍, 二者的区别?
主要是数据结构定义方式, 以及增删改查时间效率上的区别;
Set介绍?
讲讲功能和用法.

HashMap介绍, 实现方式是什么?
答: 讲的底层一些会比较赢得面试者的好感. 一横一纵, 横数组, 纵链表, 链表长度过长的时候会转化为二叉树提高检索效率;

HashCode默认怎么计算的?
答: 我当时说不知道...
其实默认情况下是把8位长度的十六进制值的逻辑内存地址转换为十进制的数字

image.png

final关键字的作用?
答: 属性不可以变, 方法不可以覆盖(overide), 类不可以被继承(这点我没答出来)
String类能否被继承?为什么?
答: 不能, String类的对象本身就是常量, 同时String类是被final修饰的.

String的类定义

讲讲JSP和Servlet的区别?
答: JSP和Servlet的区别在于是HTML夹带Java代码, 这些java代码会被jvm运行后生成文本替换, 最终得到一个HTML文件; Servlet中, 程序员如果要返回HTML的话, 只能out.println(“<table>[数据]</table>”)这么输出文本来构造一个HTML页面, 不太适合前端做页面.

cookie和session的区别?
cookie在用户端, session在服务器端;
cookie可以设定有效时限, session则是在一个会话期间起作用;
我在项目中对cookie的应用介绍了一下... (能讲到自己如何应用面试者说的技术点是一个加分项)

Spring框架的特色?
IOC: 容器进行依赖注入, 在服务器程序初始化的时候就准备好各种类的对象, 方便直接调用.

多线程

threadLocal是什么?原理呢?一般怎么用它?

线程池用过吗?
学习过ExecutorService类, 但是实践经验少.

ExecutorService实验.png

线程池实现原理?
我确实不太清楚具体实现原理的底层代码细节. 我回答的是书上看的ThreadPoolExecutor的处理流程.
线程池队列数据结构? 溢出策略?
为什么需要使用线程池?
以上三题的答案:

线程池技术
1. 优点
合理使用线程池能够带来的三个好处:

1> 降低资源消耗.

重复利用已经创建的线程降低线程创建和销毁造成的消耗.

2> 提高响应速度

任务到达的时候, 任务可以不用等待线程的创建, 就能立即执行.

3> 提高线程的可管理性

线程池可以对线程这一重要资源进行统一分配, 调优和监控.

2. 一般处理流程
1>判断

(1)线程池核心部分是否满了? 否的话, 创建新线程来处理(需要获取全局锁) 
(2)是的话, BlockingQueue是否满了? 
(3)是的话, 线程池整个是否已经满了? 否的话, 创建新的线程来处理这个问题(需要获取全局锁) 
(4)是的话, 调用饱和策略(RejectedPolicy)

实际执行中, 在ThreadPoolExecutor完成预热之后, 会使得当前的运行线程数>=corePoolSize, 这时候大部分的execute()方法调用的都是(2), 那么不用获取全局锁, 这就能够保证系统运行的又快又好了.

2>饱和策略RejectedPolicy

饱和策略: Abort报错退出, Discard丢弃该任务, callderRuns调用者线程自己来执行, DiscardOldest扔掉队列中最近的

3. 阻塞队列的数据结构选择
ArrayBlockingQueue: 基于数组, FIFO
LinkedBlockingQueue: 基于链表, FIFO
SynchronousQueue: 不存储元素的一个阻塞队列. 也就是说, 每个插入操作必须等到另外一个线程调用移除操作, 否则插入会处于阻塞状态.
PriorityBlockingQueue: 具有优先级的无限阻塞队列

java实现同步有几种方法?

数据结构

是否了解树? 介绍一下树的原理和你所知道的应用场景?
答: 原理可以用二叉树的定义方式, 指针指向下一个孩子节点等来说明; 应用场景很多, 比如加快检索速度, 在HashMap的bucket中用树的结构来提高key-value的查找速度, 在数据库的有B+树来做索引等等...

数据库

数据库的事务是怎么回事?为什么得有事务?
答: ACID, 业务的不可分割性决定事务的ACID性.
数据库的索引是怎么一回事? 为什么不所有的列做上索引?
答: 索引是提高检索速度的技术, 所有列做上索引是起相反作用的. 因为即使是完全只读的数据库, 所有列做上索引非常消耗空间, 很多列比如"性别"只有男女两个值, 做上索引毫无意义; 而对于经常发生增删改的表, 做上索引以后, 每次进行修改操作, 都需要维护索引, 这是有额外的开销的.
note: 从这种提问方式, 可以看的出百度的技术面试官很关心你是否真正理解一个技术在实际中有可能被怎么运用的, 即你不仅仅知道技术是什么, 更知道技术怎么用, 在哪里用.

linux shell

两个需求, 写脚本?
有一个文本文件log.txt, 请写出输出访问量倒序的shell脚本
time IP URL
有两个文本文件, A文件有id, a, b, c列, B文件有id, d,e, f列, 请写出一个脚本, 以A文件为基准, 合并两个文件的列, 也就是说, 丢弃合并后A文件没有的id记录.

写一个合并两个有序数组的算法?
用merge sort的那个合并两个有序数组的merge函数就行了.

二面

问项目相关的redis和事件队列

1. 事件队列如果生产者生产过快, 要怎么处理? redis怎么做阻塞队列的?

2. java多线程: 请介绍下同步的几种方法? Lock和synchronized有什么不一样吗? 优势在哪里?

3. 写一个简单的二叉树reverse算法

note: 写二叉树算法往往涉及递归, 所以不要忘记两点: 检查输入是否为null, 检查递归退出的边界

4. 输入String str1, String str2, 写出加法算法

这里是要求返回str1, str2作为数字的和, 注意输入都很长, 无法放在常规的int型中.

note: 这里按照加法的规则, 一位一位的进行相加和进位, 注意每加一位需要做一次拼接, 把和延长一位(因为和显然也不能放在一个int型中, 这点很容易忘记)

最后, 问实习的时间.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容