收获很大的现场面试经历

原创 2016年06月01日 22:10:18
        一个刚上大学的小妹妹让我帮她录高考加油视频,突然觉得时间好快,现在的我正在担心硕士开题的事情。Maybe,当下正在经历的挫折、面临的困境,等经历过后,回头看看,会觉得并不是很难,正如现在的我看待高考,看待保研,也如明年的我看待今天。

面试总结一:

一面:

  1. 单向链表中倒数第k个节点;
  2. Static函数的特点(可以在不创建对象的情况下直接调用,比如单例模式中获得唯一对象就是通过静态方法,还比如main函数)
  3. HashMap的原理,我主要回答了put操作的原理,且他不是线程安全的。那么,如果多个线程对其同时读写会出现什么异常情况:key链表的循环访问。扩容之后rehash。
  4. 访问一个网站的过程:域名解析,TCP连接,HTTP请求,前端浏览器解析网页,如果有动态表单,怎么与数据库、服务器交互?
  5. kafka高并发,快如何实现:消息持久化至磁盘,顺序读写,零拷贝技术;
  6. 永久代的作用:好吧,永久代就是方法区,当时没有反应过来,说了垃圾分代回收中老年代的作用;
  7. 一个正在运行的java进程,如何查看其日志文件在哪里,或者配置信息:我用ps -aux | grep找到了这个进程,可以看到一部分信息,之后请教面试官,应该是jinfo命令,好吧。一个博客链接,学习:JVM问题诊断常用命令:jinfo,jmap,jstack

二面:

  1. 手写代码:有序数组中重复数字出现的次数:注意特殊测试用例,如果整个数组只包含一个数字,如何优化?
  2. 概率题:每一次只能向左走或者向右走,n步之后回到原点的概率;

面试总结二:

一面:

  1. HashMap的工作原理,垃圾回收算法有哪些;
  2. 打印n行n列的蛇形数组:写完之后设计测试用例,注意分析总结,比如奇数和偶数时,最后一圈的不同;
  3. 有序数组中,打印所有组合,他们的和为指定值:两个指针,分别向前向后移动。
    1. 特殊情况:数组中存在大量重复的数据,例如[1,1,1,1,8,8,8,8,8,8],target=9,要求输出所有的组合,怎么处理?
    2. 判断两个值之和等于target之后,加一下内层循环,并记录此时的j,在内层的while循环中找到所有满足条件的组合,循环结束后,i++,j变为之前的值,以进行和新i的配对;
  4. 整数数组中,元素递增,找到缺失的那个值;
    1. 求和,期望和和实际和的差值;
    2. 数组有序,所以每一个元素依次和之后相邻的元素进行比较,是否差值为1,时间复杂度O(N);
    3. 更优的方法:对比每个元素值和下标的关系,其差值,可以发现缺失之前的元素差值为nums[0],缺失只有的为nums[0]+1;所以可以用二分查找,找到第一个差值为nums[0]+1的位置,就知道缺失的元素位置及其值;
    4. 更优的方法:借鉴数组中只有一个数字出现一次的的思想:将该数组与完整的无缺失元素的数组合并,那么只有缺失的元素只存在一次,用抑或进行运算即可;面试官好牛!
  5. 如果,数组是无需的,元素依然递增,寻找缺失的值:
    1. 将元素交换至其本应在的位置,指针可以向后移动的条件是,当前位置已经放置了正确的元素,或者是最大值;
    2. 那么最大值没有相应的位置,所以遍历整个数组后,最大值所在的位置,就是缺失的元素;
虽然由于实习时间问题没有拿到offer,但是收获很大。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

借鉴面试总结

转自师姐的博客:http://blog.csdn.net/anjing900812/article/details/51558969         时间过得真快,就要准备面试了,上次面试还是保研的时...

携程实习现场面试

继上个星期电话面试之后,今天终于引来了去携程总部技术现场面试,这个星期这几天刷了好几天的论坛和别人关于ios面试的技术总结。因为是第一次去SOHO哪里,从学校到哪里还是用了一个多小时,真心被携程的大楼...

面试中常考的现场写程序题目

在面试中面试官常常让我们写几个小的程序,以此来考察我们的编程内功。所以在准备面试的过程中在纸上练习着写一些程序是很有必要的。 下面是在面试中常考的几个题,出现频率非常之高!!!! 1、完整正确的写出二...
  • bcypxl
  • bcypxl
  • 2013-10-04 15:02
  • 2628

IT软件培训学校现场面试过程纪要及总结

今天与单位人事经理一起在国内一家Dot Net培训学校进行一场现场招聘,最后从20+生源中选择了三名孩子,虽然结果也达到了,但是感觉自己准备的不够充足,现在简要总结一下。

有关对耗时很大循环进行并行化优化的探讨之二:多重循环任务的并发处理

【引】 在上一篇有关并行化的《有关对耗时很大循环进行并行化优化的探讨 之一:并发搜索的处理》博文中,我们看到,不使用并行语言,而使用基本的编程语言配合多线程可以进行并行化处理,本文进一步将并行化操作...

Swift学习初探——一些常用的但与OC区别很大的用法

一、注册cell 1.用nib, 向 tableview 注册 cell 全局变量 let cellIdentifier = "myCell" myTableView!.registerNib(...

小心“格局很大”的人!

小心“格局很大”的人! 发布者:Innthinker 现在有一个热词,叫做“格局”,无论是线上的微信微博朋友圈,还是线下朋友聚会,经常互相吹捧“牛逼!大格局!”然后呢……然后就没有然后...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)