• 七夕前面试被虐总结


    面试是朋友推荐过去,事前已经发过简历,一周后通知我去面试,早上9:30准时到,地点在中关村教堂后面。

    公司门厅有保安小哥,打电话来领人,进门就在大厅开始。

    面试官两人,一年轻(以下"轻官"代替),一年长(以下“长官”代替)。年长的穿了件大外套+北京布鞋,很有个性。

    无笔试,直接技术面,开始大部分是“”长官提问,后来“轻官”问了一些。

    提问顺序记不太清了,出门时候10:40左右,期间一直没停,能想起来的提问如下:

    面试问题 总结
    	1.写一个函数,把int转换成byte[];
    		1.1 java中数据存储区域有哪些;
    		1.2 String str1 = "abc" 
    			String str2 = "abc"
    			str1 == str2吗
    			为什么?;
    	2.模拟一个ArrayList ,写一个add(Object obj ) 函数 ;
    		2.1 说说时间和复杂度
    		2.2 数据变多后如何处理越界
    	3.Activity 四种启动模式,分别说说意思和区别	;
    		3.1 什么情况下使用四种模式,为什么?
    	4.数的理解,二叉树如何平衡;
    		4.1 如果插入的数据类似9,8,7,6....1 如何保证左右平衡
    	5.Handler,Thread , Looper , Message 关系
    		5.1 Handler 是任何地方都可以创建的吗?
    		5.2 每个线程是否都有Looper ,
    		5.3 能否在一个Handler 中 new Thread ().start();
    	6. 假如有一个List ,里面有十个数 0-9 ,
    		6.1 如果循环遍历中如果 i%2 == 0 执行remove ,是否可以顺利执行
    			for (int i = 0; i < array.size(); i++) {
    				if (i%2 == 0) {
    					array.remove(i);
    				}
    			}
    		6.2 如果可以顺利执行,执行完毕,list剩余的数位哪几个;
    	7.看简历项目
    		7.1 说说简历框架如何实现
    		7.2 哪一个页面是你写的,页面的布局是如何设计,具体到某个控件使用的是什么view;
    		7.3 某个view 如何保持剧中,
    			LinearLayout ,RelativeLayout 中view 如何居中,对齐,
    		7.4 某个页面类似 android 桌面,排列着N个 按钮,如何动态计算显示按钮
    			例如:
    				需求:N <= 20  ,每行显示 5个 ;N>=20 每行显示 6 个
    				每行显示控制如何实现
    				
    		7.5 简历项目中涉及到自定义View ,如何实现。
    		7.6 自定义view 如何控制刷新,如何优化,遇到哪些问题,如何解决,刷新区域如何指定。
    		7.7 View 原理,(需要看view源码) 看源码 理解源码很重要 ;
    		7.8 简历中项目的框架搭建设计思想,类似mvc设计,view 显示层/控制层/
    		
    	8.简历有写,熟悉Android UI框架,请你说说 你理解的UI框架;
    	9.简历有写 熟悉常用设计模式 ,请你说说 你常用的设计模式,并且在项目中用得到的有哪些。
    		9.1 简历中的项目,用到了你说的设计模式有哪些,哪些地方用到,为什么这么用,这么用有什么好处?
    		
    		9.2用的单例,观察者,工厂 。
    			观察者 模式中,说说谁是观察者,谁是被观察者 ,之间的关系
    	10.C,/C++ 掌握程度(0)
    	11.TCP ,UDP 区别,项目中哪些地方使用过?
      	11.1 如何保证UDP情况下数据包不丢包/完整性(非心跳连接,例如发送10个包,中间3个发送时候UDP 未连接,如何识别/保证)
    		(2014-08-05 10:19 补充)
    					
    

       

      面试官出来时候自带简历,坐下后开始看,我主动自我介绍。

      介绍简单,姓名,籍贯后开始从第一家公司 和第一个项目说起,前公司业务方向,我负责的内容。。

      “长官”从第一个项目开始,我负责自定义View(钢琴键盘),问如何实现,如何判断确认点击按键,如何绘制,优化。主要关心项目中对面向对象的理解,类如何设计提问。

      然后,询问项目中用到哪些算法,如何设计,算法复杂度。

      例如确认某个点击事件是按在哪个按键,需要去遍历全部按键,算法复杂度f(n);

      询问项目中用到哪些设计模式。

      接下来问最近的项目,我做了项目的介绍,然后演示。介于项目框架我是负责,“长官”问了框架如何搭建,优势,有那些优化,布局如何设计等很详细的问题。

      例如:整个框架是Activity + Fragment 某个Fragment 中存在ViewPager  ,ViewPager中包含了多个Fragmeng ,“长官”听了只是笑笑,我没太明白小哪里,是这样不太好,如有看官知道,望指教。

      问项目中随时问Activity相关,Handler Thread 相关。

      看得出“长官”技术很好,还问了一些基础,

      例如让我写一段函数,将int 转换成byte[] ,当时我想的是:

      new Integer(x).getBytes();
    

      “长官”看了,我感到了被鄙视的眼神。。。说:“我没见过这样写的”;

      我补充了一句,是否是想让我用位移运算,“长官”没说什么。

      回来后查询了下确实没有 new Integer(x).getBytes(); 这个API ,

      2014-08-05 10:07 补充:可以参考:http://my.oschina.net/u/169390/blog/97495

      “轻官”后来问了几个关于数据结构的,

      例如,如何设计一个链表结构,可以简单画一下。

      答:我在纸上简单话了 节点 的结构 ,包含了“data” 和 “index” 内容,可以扩展 指向前后 链表 “data” “left_index” “ right_index” 等

      再问:如果链表中出现了一个 节点,他的“left_index” 指向了一个错误的 节点,如何找出来,

      答:我想到将链表遍历 将“left_index” 存在数组,如果出现重复,能找到,这样是最笨的方式,算法复杂度f(n) ;

      。。。。

      最后两人回去,让我等一会,几分钟后“轻官”回来 委婉的表示 他们需要高级技术人员(2-2 以上),我只能达到(2-1) ;

      表示有些问题例如算法和结构,项目中或许从来不会用到,但拿来面试还是很管用,如果想来,可以准备好再来面试。

      表示感谢后下楼,外面下雨了。。

      这次面试相比之前遇到过的很有难度,在此对面试官表示感谢。

      补充:关于面试问题答案,有时间会补充进来,没有补充的话,自行google吧


      罗嗦一大堆,感觉自己技术还是太菜,项目中用到的会去了解,用不到的,就了解的少或者理解不够。

      1.Java博大精深,简历上写“精通java” ,实际上很多基础理解不够,需要学习的还很多。

      2.Android 只是知道表面,API 都没全部看过,原理更不清楚,需要加深理解。

      3.数据结构和算法,通常用不到,当时需要了解基本的算法实现原理,和基本的机构,(面试前把“大话数据结构” 看了一遍,没吸收全);

      4.设计模式也需要知道,了解不是目的,真正用到项目中才是掌握。

      5.额,学历也是附加项。

      接下来要做的

      1.Java基础 有时间复习下;

      2.Android 需要了解框架,真是了解,看源码,了解设计思想,不单单是调用API

        (这方面源码已经下载,还罩着教程编译成功,可惜编译通过不代表就了解了)  

      3.数据结构和算法,继续看书,课后习题要自己实现,不能看似简单就不动手

        (大话数据结构 代码是c++ ,顺带也要学习c++了)

      4.C++ ,跑不了要学,只做应用层没前图,Framework是下一个目标;

      5.设计模式,需要看一下。

      6.还有英语。。。。

      7.学历。。。。。

    虽然总结接下来需要做的事情,希望能坚持一条条做到,很多时候都是三分钟热度,例如减肥/健身。。。。

    不进步的话,就没毛爷爷娶媳妇。

                                                                               --------------------2014-08-04 -北京 -鸟窝附近

          

                                                                

      

     

  • 相关阅读:
    vbs习题
    spotlight监控工具使用
    vue 不同路由同一个组件 缓存问题
    iphone手机上3D动画transform:rotateY闪现一下或者不显示
    vue 单独引用sass文件
    cnpm安装 npm安装node-sass报错
    webpack 打包css时提示Unexpected character '@'
    window下npm启动报错This is probably not a problem with npm. There is likely additional logging output above.
    HBuilder 配置android模拟器
    windows 切换git远程仓库地址后 git push 提示Authentication failed
  • 原文地址:https://www.cnblogs.com/wang-xiaohao/p/3890276.html
Copyright © 2020-2023  润新知