2018Java开发面经(持续更新)
不要给自己挖坑!!!不要给自己挖坑!!!不要给自己挖坑!!!如果面试官只是问你了解xxx吗,如果不是很了解,就直接说不知道,不要说知道,不然面试官深问再不知道就印象很不好!
处女面送给了头条(北京)日常实习(一面挂,视频面,持续时间一个小时,2018.3.28):
2)扩展需求(我的设计里面学生每场考试只能考一次):学生反复考同一份考试,怎么查看每场考试的具体情况?
2)订单号怎么生成?
3)怎么实现定时关单?
字节跳动(武汉)暑期实习(两面技术一面HR,现场面,给了口头offer拒了。持续时间技术面平均一个小时,hr十分钟,2018.6.15)
int a = 10;
public int fun() {
static int b = 10;
int k = 1;
}
2)操作系统LRU的计算题。
3)TCP和UDP的区别。
4)网络子网的计算,即有多少个子网,每个子网多少个主机。
5)16进制表示的两个有符号数相加,0x7FFF FFFF FFFF FFFE + 0x1000 0000 0000 0000,结果是-2。
6)堆排序的时间复杂度是o(nlgn),建堆的时间复杂度是o(n),调整堆的时间复杂度是o(lgn)。
7)排列组合问题,20分钟内一辆车经过的概率是75%,则10分钟内一辆车经过的概率是多少。
设10分钟内一辆车经过的概率是p,则有(1-p)(1-p)+0.75=1,解得p=0.5。
8)汇编高低位怎么放置的问题。
算法题:
1.寻找数组中的峰值(比左右两个值大)。直观解法是o(n),遍历一遍找到就返回;优化解法是o(lgn),二分查找,一旦找到就返回,否则左右谁大往哪边找。
2.leetcode42题。
设计题:
设计微博时间线系统,关注的人发微博后怎么实时更新到粉丝首页,尽量少的延时,下滑时翻页是怎么做到的。要求,模块设计,模块之间的协调通信。
解决:仿照微信(写扩散)。写扩散的应用:粉丝和发微博不是很多的情况。每次关注的人发微博的时候要向粉丝写入数据。所以当数据量太大的时候有可能承载不了,但是微信朋友圈是可以的。读扩散的应用?
考察:设计题没有标准答案,要注意针对不同的实际业务量有不同的分析和解决方案。
一面(五十分钟)
1.针对笔试题,一一追问解决办法。
2.TCP和UDP的区别:TCP可靠、具有拥塞控制,但是有延时、消耗资源;UDP不可靠,适用于视频通话等。
3.画出项目的整体框架图,是架构式的,系统瓶颈在哪里(图片服务没法更新、tomcat没做异步)。
二面(一个小时,TCP和UDP的问题问的很深入,起码问了有半个小时)
1.域名解析过程,IP由DNS服务器解析出来,DNS用UDP协议,HTTP的PORT默认是80,用到了TCP建立三次握手连接,数据链路层查找MAC地址用的ARP协议(但这个协议实际是网络层的)。
1.TCP和UDP深入追问,TCP是针对字节流的,UDP是针对报文的,他们的本质区别是什么?即字节流和报文在发送和接收数据方面有什么不一样的地方?TCP由于有窗口大小的限制,所以发送端发送过来的数据如果过大,不能一次性全部接收,而应该循环接收,直至全部接收;而UDP则没有这种限制,发送端发多少,接收端就可以收多少。
2.Socket编程中,发送端send两次10B的数据,接收端receive一次数据,可以接收的数据范围是多少?1B~20B。
3.MySQL索引有哪些?左前缀索引是什么样的概念?在什么样的情况下索引会失效?
4.MySQL的引擎有哪些?有什么区别?
5.redis的数据类型有哪些?各适用于什么场景?
6.Java里面的map都有哪些子集合?各有什么区别?HashMap(允许null值,非线程安全,时间复杂度是o(1)),HashTable(不允许null值,线程安全),TreeMap(有序,时间复杂度是o(lgn))。。。
8.HashMap的key是自定义的类时,为了保证key的唯一性,应该重写该类的hashCode和equals。
7.加密存储是用什么加密的?MD5是不可逆加密,可不可以用密钥加密?为什么不采用密钥加密,这种可逆加密与不可逆加密有什么区别,各有什么好处?
8.自己挖坑了。。。加密算法了解一些吗?对称加密和非对称加密。。。
9.单点登录系统的实现思路。单点登录主要解决什么样的问题?cookie不能跨域问题。你的系统中解决了什么样的跨域问题?www.mall.com和www.baidu.com这种跨域问题怎么解决?
10.写sql语句,uid,date,count分别表示学号,进图书馆的日期,进图书馆的次数,查出每个学生四月份进图书馆的总次数。select uid,sum(count) from t where 4月份 group by uid。
11.Java中的堆区和栈区有什么区别?
字节跳动(武汉)秋招(一面技术,电话面,一战和二战面头条都特别想进去,第三次的时候已经不太想进去了)
一面(2018.9.12)
1.手写栈,要求是:可适用于所有场景。
2.http有什么优点和缺点。
3.301和302状态码有什么区别。
4.积分兑换商品实际的sql操作是什么样的?说出关键的点。
数据不一致如何预防和处理。
5.取栈中的最大值,要求时间复杂度是o(1)。
6.怎么理解面向对象?多态是怎么实现的?private方法子类可不可以访问到?
18年三战头条的一些感受:
不知不觉自己竟然已经经历了四次头条的技术面,每次感觉其实都很好,每个面试官无论从态度还是技术上都是质量很高的。态度上的话,即使你问题回答不上来,他也不会对你表现出来瞧不起的态度,也不会因此不想再继续面你,而是换一个方向的问题继续问,也就是在某一个点上你不会之后,他会找其他的点来发现你的潜力,也就是说其实面试官在不断的找你可能擅长的点,对你产生一些兴趣,而且不管水平怎么样,时间一般都会控制在一个小时左右。技术上的话,每个面试官不管技术深度还是技术广度感觉都挺过关的,每一个他发问的点,都能问的比较细,有的人说是问的偏,其实我倒觉得不至于,只是他们所站的角度不一样,所以也许同样的问题,他们想知道的我们的掌握的点不一样。所以虽然最后不管怎么样自己可能都去不了也不会选择头条,但是头条的整体面试体验还是非常好的,而且也能看出来头条的整体的技术水平。其实当你跟一个公司的多个面试官聊过之后,你真的能感受出来这个公司的整体的技术功底的,因为有的面试官问出来的问题真的很浅甚至有的标准答案连他自己都不知道,其实你是能感觉出来的。所以崇尚高工资,不介意加班的话,其实头条目前来说还是很值得去的,毕竟也还处于快速发展期。
一面(2018.4.13)
1.技术方面介绍一下项目。
2.用到了redis的哪些数据结构。
2.集群是什么,怎么发展成集群的形式?
3.ngnix的conf怎么配置成集群?
4.散列表解决冲突的方式有几种?各有什么优劣,哪种最好?
5.介绍一下kmp算法。
二面(2018.4.17)
1.每个组成的作用和所处的角色,包括JDK,JRE和JVM的区别。
2.在什么场景下会用到哪些集合类?
答案:HashMap,ArrayList,HashSet等。
3.每个集合类的特性。
答案:hashmap可以存session,hashset不允许重复值,arraylist获取列表。hashset数据是否有序。基于set的有序存储应该用什么实现,treeset。
4.重写和重载的区别以及什么时候使用。子类怎么调用父类的方法。
5.线程和进程之间的区别以及各自的优缺点以及各自的使用场景。
6.线程的状态及转换关系。
7.快排和冒泡的流程。
8.JVM的GC、分代回收等。
9.堆和栈存储的是什么?基本数据类型和字符串存在哪里?方法定义存在哪里?
答案:堆:对象。栈:引用。
10.http请求的流程。
答案:查找本地缓存ip->DNS解析等。
11.
京东内推简历石沉大海了,校招放弃了面试。
阿里内推sdn开发实习(一面挂,每次接到电话都是晚上,2018.4.23)
2.用什么进行验证匹配,五元组?验证规则有优先顺序吗?
3.另一个项目主要负责了哪一部分。
3.用到了什么数据库,redis存session数据,数据过期怎么办?
4.spring怎么加载数据?
5.依赖注入是怎么回事?
6.用到了哪些注解,每个注解的作用和原理。
2.数据库的隔离级别
3.索引底层用的什么数据结构,为什么索引会快 。
4.数据库的表和bean之间是怎么映射的。
5.mybatis中#和$有什么区别,sql怎么返回自增主键的值。
6.死锁和死循环的关系
7.怎么理解时序图的作用。
9.cookie禁用后session还能使用吗?
2018Java开发面经(持续更新)的更多相关文章
- BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js
BAT 前端开发面经 —— 吐血总结 目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...
- LookAround开元之旅(持续更新中...)
应用介绍随便瞧瞧是一款为android用户量身定做的免费图文资讯软件集美食,文学,语录等频道于一体界面简洁,操作流畅,图文分享,个性收藏是广大卓粉的必备神器APK下载 -->https://ra ...
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
##2017.10.30收集 面试技巧 5.1 面试形式 1) 一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2) 面试官喜欢什么样的人 ü 技术好. ...
- java 开发面试题小整理(一)
本篇文档将持续更新,有基础滴,也有深层次的,谢谢! 1.看下面的程序是否有问题,如果有问题,请指出并说明理由. * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 ...
- React Native之坑总结(持续更新)
React Native之坑总结(持续更新) Genymotion安装与启动 之前我用的是蓝叠(BlueStack)模拟器,跑RN程序也遇到了一些问题,都通过搜索引擎解决了,不过没有记录. 但是Blu ...
- 干货!IT小伙伴们实用的网站及工具大集合!持续更新!
1.Git 还在担心自己辛辛苦苦写的代码被误删了吗?还在担心自己改错了代码不能挽回吗?还在苦恼于多人开发合作找不到一个好的工具吗?那么用Git就对 了,Git是一个开源的分布式版本控制系统,用以有效. ...
- HBase常见问题答疑解惑【持续更新中】
HBase常见问题答疑解惑[持续更新中] 本文对HBase开发及使用过程中遇到过的常见问题进行梳理总结,希望能解答新加入的HBaser们的一些疑惑. 1. HTable线程安全吗? HTable不是线 ...
- 前端开发面试题总结之——JAVASCRIPT(一)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 移动端H5制作安卓和IOS的坑 持续更新...
移动端H5制作安卓和IOS的坑 持续更新... 前言:最近参加公司的H5页面创意竞赛,又遇到不少页面在不同系统上的坑.踩坑之余,觉得很多之前遇到的知识点都忘了,索性开一篇博文,把这些坑都统一归纳起来, ...
随机推荐
- 【刷题】BZOJ 2346 [Baltic 2011]Lamp
Description 2255是一个傻X,他连自己家灯不亮了都不知道. 某天TZ大神路过他家,发现了这一情况, 于是TZ开始行侠仗义了. TZ发现是电路板的问题, 他打开了电路板,发现线路根本没有连 ...
- BZOJ 3339: Rmq Problem
3339: Rmq Problem Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1075 Solved: 549[Submit][Status][ ...
- linux内核设计与实现一书阅读整理 之第十八章
CHAPTER 18 调试 18.1 准备开始 需要的是准备是: - 一个bug - 一个藏匿bug的内核版本 - 相关内核代码的知识和运气 重点: 想要成功的进行调试,就取决于是否能让这些错误重现. ...
- Android资源混淆 + 混淆忽略 .so库
安装包立减1M--微信Android资源混淆打包工具http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=208135658&idx ...
- 【枚举&数据结构】【P2484】 [SDOI2011]打地鼠
Description 给定一个网格,每个格子上有一个数字.一次操作可以将 \(r~\times~c\) 的一块矩形的数字减去 \(1\).必须保证这个矩形中的数全部为正.每次操作的 \(r\) 和 ...
- MySQL基本了解与使用
MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格 ...
- window10+Anaconda3-4.2+python3.5+Pycharm+清华镜像源安装
window下对python3.5适用性比较好,Anaconda4.2里面包含了python3.5. https://mirrors.tuna.tsinghua.edu.cn/anaconda/arc ...
- Rstudio常用快捷键
多行注释 ctrl+shift+c 运行单行或选中代码 ctrl+enter 查看帮助 F1
- PyQt 5.4参考指南 ---- PyQt5和PyQt4之间的差异
欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/in ...
- JavaScript中的apply()和call()
可以将call()和apply()看做是某个对象的方法,通过调用方法的形式来间接调用函数. call()和apply()的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对 ...