`
jiq408694711
  • 浏览: 36558 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

不一样的面试(发现自己最大的问题之一)

 
阅读更多

今天被北京XXX公司(著名广告投放公司)鄙视了。面试官是个中年男子,很帅气,虽然面试官人很好,但是还是让我心情不爽。

一进去就说先来个组成原理的题吧: CPU,主存,北桥,南桥,速度不一致,缓存之类的,这个很简单,回答出来了,面试官说了好几个good,还挺满足的。

接下来说做一道操作系统的题吧:我在word里面写了一些文本,点击保存。

(1) 他有没有写到磁盘上?

(2) 如果写了,是一个怎么样的详细过程,如果没写,在哪儿?

回答了磁盘缓存,文件操作会经过一个转换层转换成块IO操作,然后由设备驱动将这些块IO的请求写到缓存,缓存进行调度,然后分别写到磁盘。

如果文件不够大,不会写到磁盘,会先到缓冲区之类的。。。 差不多就这些。看样子面试官不满意我的回答。

接下来说我们做一个网络的题吧: 我在浏览器出入新浪的域名,然后就看到他的主页了,让我解释这个过程:

(1)我说先请求DNS,将域名转换成IP。 面试官说不详细,让我在详细介绍DNS的流程/结构。我就说有什么递归查询了,可能会访问顶级域名服务器啊,他说我说的还是只是其中一个方面。想半天想不出来,然后他说大概会经过:本地缓存查询-》DHCP-》然后才是请求DNS。

(2)接下来我说拿到IP之后会发送一个IP数据包,通过在Internet上面的路由选择到达sina的服务器,然后他会响应这个请求。然后面试官马上就问了,那你说说响应是怎么回来的?我说响应的IP数据包也有目的IP地址啊,经过路由选择到达局域网之后通过MAC地址找到你的主机。他说不完善,然后我有事想了一通想不出来他想知道什么。。。最后他说客户端请求的时候,会生成一个临时端口号,然后响应的数据包回来的时候会送到这个端口,客户端会监听这个端口。大概就是这个意思吧。。。

(3)然后面试官又问我了:你知道一般这个请求会发送多少个IP数据包么?汗。。。 我说看页面的大小吧。。。面试官仍然不满意我的回答,忘了他说什么了。。。

(4)然后又问我,我请求的页面是全部内容都会发过来么? 这个直接被鄙视。我说静态部分应该会全部发过来,动态部分应该要是情况而定(基本是蒙的)。面试官耐心地给我解释,说有一个什么“html树”,每一个节点都会发送各自的请求什么的。。。 不懂,看来得查一查。

这里比较详细地讲解了整个过程:http://zhan.renren.com/seochina?gid=3602888497994264527&checked=true

好吧,我们再来做一个编译原理的题吧(。。。):你说你会java,那么你说一个,从一个java源文件,到在机器上的二进制可执行文件这个过程是怎么样的?

我就说java会有自己平台无关的jvm指令集,首先会将源文件编译成字节码文件,就是这样的指令集表示的,然后会汇编成为依赖于具体的硬件平台的汇编,然后汇编程序就会链接,然后转换成二进制码执行。。。其实我基本上是在凭感觉说。。。 面试官又说我说的太粗糙了。。。汉。。。好几次这样说我了。(说实话,我遇到过好几个人说我对各种计算机领域的只是理解不够深入了。。。看来我平时应该多注意这种细节问题的思考和探知啊)。 然后面试官问我知道语法树么。我马上明白了,原来他是要我回答编译原理方面的细节啊,说实话,什么词法分析,语法分析,语义分析,优化之类的我早忘记了。。。不过面试官还是耐心地给我讲了一下。

完了又问我,你知道为什么要转换成汇编么? 哎,为什么啊,我回答说汇编是依赖于体系结构的最原始的“高级语言”,开始的时候我们不可能直接写二进制代码,就弄了这样好理解的符号化的东西。。。我好想回答的不是他问的,哎,又被鄙视了。

接下来,我们在做一个java的题吧:

try{

int x;

x = 1;

return x;

}catch(Exception e){

x = 2;

}finally{

x = 3;

}

返回什么? 我说肯定不是2,执行return x之前会先执行finally,所以是3。

好吧,错了。面试官又是耐心给我解释,我恍然大悟啊。一开始就没有走对方向,我其实在不确定的情况下应该往底层一点想想,想想x是存在栈中,return x是函数的返回值,是存放在栈中的另一个位置的,而finally的之后修改的是栈中变量x,而与函数返回值无关。。。 哎,处处是底层啊。。。又被鄙视了。

面试官又问我,你对linux安全了解么?啊,这个我还真不了解,赶紧说不了解。。。

面试官又问我,你用过哪些服务器啊?我说tomcat啊,Apache啊,还听过一个叫什么GlassFish的,shit,不知道有没有这么一个服务器,面试官表示没听过。

然后面试官又是耐心给我讲,列了一大堆服务器,大概十几个服务器的名字。

又给我将什么现在服务器因为要处理大量并发请求,趋势就是会设计成“异步”的,而不是“同步”的。

我还是和他扯起来,我说什么可以通过集群,将请求分配到不同服务器,结合动态负载均衡等技术来处理请求,他说即使分布式处理,还是可能会出现单台服务器需要处理大量请求的情况,我表示赞同。然后我又说“异步”的处理方式会影响用户体验啊,响应时间不确定啊,什么的。。。

差不多就这样结束了,面试官尽然来了一句:“你先回去吧,我看如果没有更好的,我在打电话给你。。。”(太直接了,我喜欢。。。)好吧,握个手,走人了!

这次让我更加重视自己的缺点了,平时学习一个东西不够深入,没有强烈的类似的底层细节知识的思考和探知欲望。。。学知识有点急躁。。。。哎,一定要注意。(学习东西一定要深入底层,这里说的底层不是说贴近于硬件的那种底层,而是设计各方面细节的原理性的东西。。。计算机一通百通!)

路还很长啊!

分享到:
评论

相关推荐

    Java面试框架高频问题2019

    **问题七:当实体类中的属性名和表中的字段名不一样,怎么办?** - 使用`<resultMap>`标签进行映射。 **问题八:模糊查询like语句该怎么写?** - 使用`<if>`标签条件判断。 **问题九:通常一个Xml映射文件,都会...

    保研面试问题汇总-保研问题.doc

    保研面试问题汇总 在保研面试过程中,自信心态非常重要。我们需要多谈自己的优点,积极的心理状态会给我们带来满意的结果。一个成功人士的思维方式应该是积极肯定自己的。在面试过程中,我们需要有逻辑性,话不在多...

    .net秘笈 .net面试大全 .net面试精选 .net面试题

    这些面试问题涵盖了.NET基础、C#语法、运行时机制和编程实践等多个方面,深入理解这些知识点将有助于提升.NET开发者的技术水平。在实际工作中,还需要结合具体项目需求和最佳实践,灵活运用这些知识。

    redis面试相关问题整理(含答案)

    * 使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis 直接自己构建了 VM 机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。 Redis 数据类型 Redis 主要有...

    美术教师面试问题.doc

    本文讨论了美术教师面试问题,包括课堂管理、学生早恋、教师职业选择、座右铭、教学艺术指导、教师素质等多个方面。通过对问题的回答,美术教师展示了自己的教学艺术和职业素质,展现了一个合格的美术教师应该具备的...

    面试问题整理面试问题整理

    4.如果 ActionForm 的 validate() 方法返回 null 或返回一个不包含 ActionMessage 的 ActionErrors 对象,就表示表单验证成功。 5.ActionServlet 根据 ActionMapping 实例包含的映射信息决定将请求转发给哪个 ...

    经典面试题关于人事面试的题目

    - **解析**:这是面试中最常见的开场白之一,旨在让面试官了解求职者的背景、经历以及个人特质。回答时应该简明扼要地介绍自己的教育背景、工作经验和个人兴趣爱好等,并突出与应聘职位相关的技能和经历。 #### 2. ...

    点net面试之葵花宝典

    委托可以用于封装一个方法的引用,并且可以像其他对象一样传递和调用。 - **委托链**:指的是多个委托按顺序链接起来形成的一个序列。每个委托执行完毕后调用下一个委托,直至链的末尾。 - **MulticastDelegate 继承...

    (2020最新)Java面试题.pdf

    Java是当前最流行的编程语言之一,它广泛应用于各种领域,如Android应用开发、Web应用开发、企业软件开发等。面试中,Java问题涵盖了从基础知识到框架、中间件、数据库等方面。下面是对Java面试题的知识点总结: ...

    大厂面试系列三.pdf

    幻读指的是当一个事务读取了某个范围的数据后,另一个事务在同一范围内插入了新的数据,当第一个事务再次读取这个范围的数据时,会发现有新增的数据条目,好像“幻影”一样出现。不可重复读是指在同一事务中,多次...

    VMWARE虚拟化技术面试题.pdf

    解释:虚拟机的隔离性是指虚拟机之间的独立性,即即使一个虚拟机崩溃,其他虚拟机不会受到影响,这是虚拟化技术的重要特性之一。 4. 您正在与管理员和管理层开会讨论有关即将进行的虚拟化项目。会议上提到了...

    无领导小组面试技巧.pdf

    无领导小组面试技巧 在无领导小组面试中,如何表现会让过关的几率最大化?...第十四,不要怕提问题或不敢对自己在面试中观察到的情况坦率地表明观点。讲话时表现出自信的样子将有助于你给对方留下一个好的印象。

    网络工程师面试题(附答案).doc

    4. 动态路由协议可以按照路由的路由权值来判断路由的好坏,并且每一种路由协议的判断方法都是不一样的。 5. IGP(Interior Gateway Protocol,内部网关协议)的作用范围是自治系统内。IGP 是指在自治系统内使用的...

    Android面试题大全.pdf

    Android平台下的应用开发是当前移动开发领域的热门话题,其中,应用的UI展示是Android开发的核心内容之一。面试中,关于Android UI视图绘制流程的题目常常出现,而理解View的绘制流程对于成为一名高级Android工程师...

    java面试题目之API基础问答题

    2. `notify()`:随机唤醒正在等待该对象锁的线程之一。 3. `notifyAll()`:唤醒所有正在等待该对象锁的线程。 这些方法都定义在`Object`类中,主要用于实现线程的阻塞和唤醒机制,是Java中线程通信的基本手段。 ##...

    ACM面试题 ACM ACM ACM

    如果两只青蛙开始的坐标不一样,但是速度一样,那么将永远不能相遇。 解决方案 1. 首先,我们可以计算出青蛙A和青蛙B的距离,如果距离为0,则它们已经相遇。 2. 然后,我们可以计算出青蛙A和青蛙B的速度之差,如果...

    面试1

    4. **文档要求**:编码和文档风格是评估的重要因素之一。应确保代码如同交给团队成员时一样易于理解,文档最好是英文的,但如果对英文写作不自信,也可以使用韩语。 5. **编程语言选择**:推荐使用C++或Java进行编写...

    JAVA+面试常见问题及答案,准备这些面试题可以帮助应聘者更好地理解Java,提高面试成功的可能性

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。为了在求职面试中脱颖而出,了解和掌握Java的基础知识以及常见的面试问题是至关重要的。以下是一些Java面试中可能会遇到的问题及其答案,...

    计算机方面 面试题库(算法)

    **解析**: 该问题是经典的区间划分问题之一。通过使用二分查找结合动态规划的方法可以有效地解决此问题。其中,二分查找用来缩小可能的最大值范围,而动态规划则用来计算在这个范围内是否存在一种分割方案。 **扩展...

Global site tag (gtag.js) - Google Analytics