今日头条/字节跳动:(IOS研发实习生)
一面:(1小时)
1、自我介绍,可实习时间,在校情况;
2、手撕算法:(1). 青蛙跳台阶,一次可以跳1个台阶或者2个台阶,问跳完N阶台阶总共有几种跳法?(递归和非递归)(2). 按照顺时针的顺序,逐层遍历并打印N阶方阵;
3、TCP/IP协议;
4、TCP三次握手,四次挥手;
5、最近在看什么书或者在学什么知识;
6、根据最近所学的提几个问题;
7、你有什么想问的;
二面:(1.5小时,GG)
1、自我介绍;
2、项目;
3、在校情况,可实习时间;
4、Https和Http的区别;
5、SSL的加密方式;
6、其他加密方式;
7、CA证书的作用;
8、TCP为什么是三次握手,四次挥手?
9、TCP滑窗机制的作用;
10、JVM虚拟机GC;
11、在编程中应该如何避免出现的相互循环引用,而造成的内存泄漏;
12、手撕算法:(1). 单向链表,从倒数第K节点开始反转链表,输出整个链表;(2). 乱序不重复数组,输出其中任意两个相加和为固定值M的集合;(3). (2)中的解,时间复杂度是多少?还有更优的解法吗?
13、你有什么想问的;
滴滴:(后端开发实习生)
1、自我介绍,项目;
2、用到过哪些数据库,数据库语言;
3、MYSQL的索引;
4、介绍下联结,写一个SQL;
5、写过什么比较复杂的SQL语句吗;
6、Hive了解吗;
7、写过脚本吗;
8、你有什么要问的;
百度:(后端开发实习生)
一面:(电话面试,30分钟)
1、自我介绍;
2、项目,项目的介绍,你的参与,遇到的难题,怎么解决,印象最深的难题;
3、实习时长;
4、你有什么想问的;
二面:(1.5个小时)
1、自我介绍;
2、项目,问的也挺详细的;
3、数据库的优化方式;
4、数据库的索引的实现;
5、如何分库分表;
6、JVM了解多少?GC,类加载机制,高效并发;
7、ConcurrentHashMap的原理,用过这个吗;
8、锁机制了解多少,一层一层深入,直到回答不出来;
9、Redis原理,使用;
10、Java的异常体系;
11、Http和Https;
12、Session和Cookie;
13、MVC机制,SpringMVC原理,三层结构;
14、设计模式了解哪些?手写一个单例模式;
15、事务管理,实现方法;
16、集群;
17、对象序列化;
18、对于各个语言的看法;
19、对软件开发的看法;
20、学习生活上的一些问题;
21、你有什么想问的;
还有一些记不起来了,想起来再更。
面试建议:
关于公司,大厂一般对学历要求比较高,最好是研究生,对于专业的要求没那么高,学历+能力,看重这个。
关于简历,尽量简洁明了,网上有很多模板,可以参考下。一般岗位、时长、联系方式写最上面,下面教育背景,专业技能,开发经历等。开发经历,每一个下面用两三行文字描述下,项目内容和你的工作。这个简历一定要重视,因为面试官就是照着你的简历问的,想到什么看到什么就会问什么。项目一定要熟悉,并且能说出来做了什么,难点是什么,怎么实现的。这个很重要!
关于内推,可以去网上查找一些公司的帖子或者一些公众号之类的,很多公司都有内推途径,简历好的话可以免笔试什么的。当然还是要去自己识别信息的真假。
关于语言,除非指定语言,很多公司不要求专门的语言,只需要精通一个或者两个就可以了。
感谢你看到这里,我是程序员麦冬,一个java开发从业者,深耕行业六年了,每天都会分享java相关技术文章或行业资讯
欢迎大家关注和转发文章,后期还有福利赠送!
网友评论