不要给本身挖坑!!!不要给本身挖坑!!!不要给本身挖坑!!!若是面试官只是问你了解xxx吗,若是不是很了解,就直接说不知道,不要说知道,否则面试官深问再不知道就印象很很差!html
处女面送给了头条(北京)平常实习(一面挂,视频面,持续时间一个小时,2018.3.28):前端
1 int a = 10; 2 public int fun() { 3 static int b = 10; 4 int k = 1; 5 }
2)操做系统LRU的计算题。java
3)TCP和UDP的区别。mysql
4)网络子网的计算,即有多少个子网,每一个子网多少个主机。linux
5)16进制表示的两个有符号数相加,0x7FFF FFFF FFFF FFFE + 0x1000 0000 0000 0000,结果是-2。c++
6)堆排序的时间复杂度是o(nlgn),建堆的时间复杂度是o(n),调整堆的时间复杂度是o(lgn)。面试
7)排列组合问题,20分钟内一辆车通过的几率是75%,则10分钟内一辆车通过的几率是多少。redis
设10分钟内一辆车通过的几率是p,则有(1-p)(1-p)+0.75=1,解得p=0.5。算法
8)汇编高低位怎么放置的问题。spring
算法题:
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)