超越技术分析_超越技术面试
超越技术分析
by Jaime J. Rios
由Jaime J. Rios
超越技术面试 (Transcending the Technical Interview)
“Wow. What a chastening and shameful experience that was.”
“哇。 那真是一种令人st目结舌的经历。”
This was my immediate mental reaction after I completed my first technical interview.
这是我完成第一次技术面试后立即产生的精神React。
I quickly learned after this humbling experience that knowing how to write good code is one thing, but articulating my thought process behind writing that code is a completely different beast.
在经历这种卑鄙的经历后,我很快学会了知道如何编写好的代码是一回事,但是在编写代码的背后阐明我的思维过程却是完全不同的野兽。
I vividly recall how confident I was before my interview. But my confidence vanished like a Houdini trick once I was given the task of walking my interviewer through my solution.
我生动地回忆起面试前的自信。 但是一旦我承担了引导面试官解决问题的任务,我的信心就像胡迪尼的把戏一样消失了。
I soon realized that explaining your code verbally is much, much harder than it sounds.
我很快意识到,用语言解释您的代码比听起来要难得多。
During the interview I froze up a few times. I stuttered. At one point I actually had to ask my interviewer to walk me through my own code.
在面试中,我冻结了几次。 我结结巴巴。 有时候我实际上不得不要求面试官引导我完成自己的代码。
Needless to say, it was a dumbfounding experience.
不用说,这是一次令人震惊的经历。
The painful take-away was that I needed practice explaining my code verbally in interview scenarios.
痛苦的收获是,我需要练习在面试场景中口头解释我的代码。
I managed to line up another technical interview. And this time, I knew that I’d need to find a place where I could improve my technical interviewing skills with other coders.
我设法进行了另一次技术面试。 这次,我知道我需要找到一个可以提高与其他编码员的技术面试技巧的地方。
Low and behold, a friend serendipitously mentioned a Free Code Camp group in my city of Fresno, California. I had nothing to lose at that point, so I decided to make the effort to attend one of their events.
低垂的时候,一个朋友偶然地提到了我在加利福尼亚州弗雷斯诺市的一个Free Code Camp小组。 那时我没有什么可失去的,所以我决定努力参加他们的活动之一。
During the event, I noticed immediately that I was surrounded by collaborative, open-minded, and positive individuals who were as passionate about coding as I was. They were also willing to help with whatever questions I threw at them.
在活动期间,我立即注意到我周围充满了协作,胸怀大志,积极向上的人,他们像我一样热衷于编码。 他们也愿意为我提出的任何问题提供帮助。
I knew right off the bat that I had found an invaluable resource. Participating in this group served to enhance my learning, boost my confidence, and help me transcend the technical interview.
我马上就知道我已经找到了宝贵的资源。 参加该小组有助于增进我的学习,增强我的信心并帮助我超越技术面试。
Recently, our local Free Code Camp organizers put on what was arguably the best event of the year thus far. The event was titled “Whiteboard Interview Challenges.”
最近,我们当地的Free Code Camp组织者举办了迄今为止可以说是今年最好的活动。 该活动的标题为“白板面试挑战”。
As the title suggests, we practiced whiteboard problems that are frequently asked in technical interviews.
如标题所示,我们练习了技术面试中经常问到的白板问题。
What made this particular event a stellar experience was the tremendous support and constructive feedback we received from all the coders who showed up.
使这次特殊活动取得卓越成就的原因是,我们从所有出现的编码人员中获得了巨大的支持和建设性的反馈。
It was incredible! We actually had coders who made the trip all the way from Bakersfield (a two-hour trip from Fresno) to attend the event. I thought it was fabulous to see the Bakersfield and Fresno coding communities come together to help, mentor, and support one another.
实在太棒了! 实际上,我们有一些编码员从Bakersfield(从Fresno出发,历时两个小时)一路走来参加活动。 我认为Bakersfield和Fresno编码社区聚在一起互相帮助,指导和支持真是太好了。
The event began with us downloading a Github repo that contained technical interview problems. Then, contrary to a typical lecture-style environment, everyone split up into groups to collaborate and work through an assigned problem from the repo.
活动始于我们下载一个包含技术面试问题的Github存储库。 然后,与典型的演讲风格环境相反,每个人都分成小组进行协作,并通过回购解决分配的问题。
One of the problems we reviewed was implementing an algorithm called “sum of squares.” This entailed taking an array of numbers, squaring each number in the array, and returning the sum of those numbers.
我们审查的问题之一是实现一种称为“平方和”的算法。 这需要获取一个数字数组,对数组中的每个数字求平方,然后返回这些数字的总和。
After solving the algorithm on the whiteboard (or wallboards in our case), we also practiced verbally explaining our solutions and our logical thought process behind our implementations.
在白板(或本例中的墙板)上求解算法后,我们还练习了口头解释我们的解决方案以及实现背后的逻辑思维过程。
Writing down the solutions on the whiteboard wasn’t too bad. I thought I fared pretty well. Although I struggled in the beginning when it came to talking about my code, we had a plethora experienced coders who coached us through the entire process.
在白板上写下解决方案还不错。 我以为我过得很好。 尽管一开始我在谈论我的代码时感到很挣扎,但我们有很多经验丰富的编码员在整个过程中指导我们。
By the time I got to talking about my recursive solution, I felt much more comfortable verbally explaining it, as well as discussing the how’s and why’s surrounding my implementation.
当我要讨论递归解决方案时,我在口头上解释它,讨论实现的方式和原因感到更加自在。
I cannot emphasize enough the amount of educational value and confidence I gained from this event, and from Free Code Camp in general.
我无法从这次活动以及总体上从Free Code Camp获得足够的教育价值和信心。
This has been a massive step toward to breaking into the tech industry as a software engineer.
这是迈向作为软件工程师进入技术行业的重要一步。
If there’s any advice that I can give to others who are struggling with technical interviews , please do yourself a favor and collaborate, don’t alienate.
如果我能给遇到技术面试困难的其他人任何建议,请帮自己一个忙,合作,不要疏远。
You’ll find that through collaboration, the opportunities for improving your coding skills are boundless.
您会发现,通过协作,提高编码技能的机会是无限的。
Thanks to Nelson Esparza, Rick Gomez, and Thomas Klein for reading drafts of this.
感谢 Nelson Esparza,Rick Gomez和Thomas Klein阅读了这份草稿。
Kudos to Bitwise (located in Downtown Fresno) for providing Free Code Camp Fresno the space to throw such awesome coding events!
荣誉对按位 (位于弗雷斯诺市区),提供免费代码营弗雷斯诺的空间抛出这样真棒编码的事件!
If you liked this story and some of the points that I’ve made here, please share this article on Facebook and Twitter.
如果您喜欢这个故事以及我在这里提出的一些观点,请在Facebook和Twitter上分享此文章。
Last but not least, feel free to click the ? below so that others can see this story on Medium. Thanks for tuning in.
最后但并非最不重要的一点是,随时单击? 以便其他人可以在Medium上看到这个故事。 感谢您收看。
翻译自: https://www.freecodecamp.org/news/transcending-the-technical-interview-53de65feaafc/
超越技术分析
相关文章:

轻松获取LAMP,LNMP环境编译参数配置
轻松获取LAMP,LNMP环境编译参数配置 作者:Mr.Xiong /分类:系统管理 字号:L M S大家是否遇到过去了新公司,公司内的LAMP,LNMP等所有的环境都是配置好的(已经在提供服务了),公司又没有留下部署文档…

java内存分配--引用
栈内存 对象地址 堆内存 存放属性 public class TestDemo{ public static void main(String args[]){ Person perA new Person(); //出现new百分之百就是要申请堆内存 perA.name"王强"; //perA 地址存放在栈内存中,同一块内存只能存…

iOS NSObject对象内存大小
NSObject内存大小 类的本质是结构体 无须赘述 struct NSObject { Class isa; };一个类对象的实例大小是8个字节 之所以打印出的16个字节,是因为一个NSObject 最小开辟16个字节 NSObject *obj [[NSObject alloc]init];// class_getInstanceSize 这是runtime 获…

客户端渲染 服务端渲染_这就是赢得客户端渲染的原因
客户端渲染 服务端渲染A decade ago, nearly everyone was rendering their web applications on the server using technologies like ASP.NET, Ruby on Rails, Java, and PHP.十年前,几乎每个人都使用ASP.NET,Ruby on Rails,Java和PHP等技术…

java多线程三之线程协作与通信实例
多线程的难点主要就是多线程通信协作这一块了,前面笔记二中提到了常见的同步方法,这里主要是进行实例学习了,今天总结了一下3个实例: 1、银行存款与提款多线程实现,使用Lock锁和条件Condition。 附加 :…

Java8中Lambda表达式的10个例子
Java8中Lambda表达式的10个例子 例1 用Lambda表达式实现Runnable接口 Java代码 //Before Java 8: new Thread(new Runnable() { Override public void run() { System.out.println("Before Java8, too much code for too little to do"); } }).start(); …
OC的对象的分类
OC的对象分类 一 oc的对象分类主要分为3种 1 instance 对象: 实例对象就是通过alloc 出来的对象,一个类每一次的alloc都会产生一个新的实例对象 StudentA *a [[StudentA alloc]init];StudentA *b [[StudentA alloc]init];// 打印结果如下 地址是明显…

如何在国内上medium_在Medium上写作的风格指南
如何在国内上mediumAfter spending more than 1,000 hours writing and editing stories for our Medium publication, I’ve decided to create this living style guide for contributors. Feel free to use it for your publication as well.在花了1000多个小时为我们的《中…

C# webform上传图片并生成缩略图
其实里面写的很乱,包括修改文件名什么的都没有仔细去写,主要是想记录下缩略图生成的几种方式 ,大家明白就好! 1 void UpImgs()2 {3 if (FileUpload1.HasFile)4 {5 string fileContentType FileUpload1.Pos…

ios中的自动释放池
自动释放池中是否有虑重功能 1 autoreleasepool { 2 UIView *view [UIView alloc] init] autorelease]; 3 [view autorelease]; 4 } 这样写在自动释放池的队列中是两个对象还是一个对象,就是说把view加到自动释放池的队列时,队列本身是…

arch linux安装_如何从头开始安装Arch Linux
arch linux安装by Andrea Giammarchi由Andrea Giammarchi In this article, youll learn how to install Arch Linux from scratch… and in about 5 minutes. So lets get to it.在本文中,您将学习如何从头开始安装Arch Linux,大约需要5分钟。 因此&am…

CoreCRM 开发实录 —— Profile
再简单的功能,也需要一坨代码的支持。Profile 的编辑功能主要就是修改个人的信息。比如用户名、头像、性别、电话……虽然只是一个编辑界面,但添加下来,涉及了6个文件的修改和7个新创建的文件。各种生成的和手写的代码,共有934行之…

iOS KVO 的实现原理
KVO 的实现原理 一 原理 1.KVO是基于runtime机制实现的 2.当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter 方法。派生类在被重写的setter方法内实现真正的通知机制 …
利用UltimateAndroid框架进行快速开发
UltimateAndroid是一套集成了许多现有优秀的Android开源类库并将之组合成一个整体的Android快速开发框架。框架目前主要包含的功能有View Injection,ORM,异步网络请求和图片加载,自动化脚本测试,磁盘LRU等功能.同时提供了类似于TripleDes、Webview快速设置、Md5处理…

溢出内容菜单_停止过度使用溢出菜单
溢出内容菜单by Daniel Burka丹尼尔伯卡(Daniel Burka) 停止过度使用溢出菜单 (Stop the overuse of overflow menus) You know those obscure menu buttons on apps and websites that reveal even more menu options? They usually have an ellipsis “…” or an arrow ▼…

KVC 和 KVO
KVC 键值编码 全称是Key-value coding,翻译成键值编码。它提供了一种使用字符串而不是访问器方法去访问一个对象实例变量的机制。 1.通过key(成员变量的名称)设置value(成员变量的值) - (void)setValue:(…

datasnap的客户端回传机制
最近,学习XE6下的DataSnap回叫技术编译代码,体会如下:第一篇 服务器与客户端回叫 从Delphi2010开始,DataSnap支持回叫(Call Back)机制。这样,在调用耗时较长的方法时,通过回叫机制…

Block 底层1
Block 本质来讲是OC 对象,其内部有一个isa指针。 1 Block 的声明 一言以蔽之: returnType ( ^blockName)(parameterTypes) ^returnType (parameters) {}; returnType 返回的类型 可以为Void,为Void的时候可以省略^blockName …

从零学web前端_从零到前端英雄(第2部分)
从零学web前端This article is part two of the “From Zero to Front-end Hero” series. In part one, you learned how to create layouts with HTML and CSS as well as some best practices. In part two, we will focus on learning JavaScript as a standalone language…

jdk8飞行记录器配置
jdk8提供了jmc工具,应该比visualvm厉害吧 下面贴一份tomcat的配置,自己留个备份,把下面的内容粘贴到tomcat setenv.sh就可以了 nowdaydate %Y%m%d_%H%M%S test -d ../gclogs || mkdir ../gclogsif [ -r "$CATALINA_BASE/bin/setenv_custom.sh" ]; then. "$CATAL…

petaPar培训文档
自己写的实验室程序文档,方便后来者。 转载于:https://www.cnblogs.com/daijkstra/p/3972167.html

Block 底层值__Block修饰符
__Block 修饰符 Block 想要改变外部的变量,必须要用__Block 来修饰自动变量。 根据内存地址可以看出来,__block 所修饰的变量,将外部的变量在栈中的内存地址放到了堆中。 // auto 自动变量的内存分配在栈区域 stack__block int meters 100…

体检系统前端源码_给您的前端进行健康检查
体检系统前端源码by Ewa Mitulska-Wjcik伊娃米图尔斯卡(EwaMitulska-Wjcik) 给您的前端进行健康检查 (Give your Front End a Health Check) You’ve built out all your user stories and your app is working. Now’s it’s ready to submit as done, so you can move on wi…

1-runtime的Method,IMP,Property,ivar
基础定义 objc-750 的tar包 objc-private.h 定义 typedef struct objc_class *Class; typedef struct objc_object *id;#if __OBJC2__ typedef struct method_t *Method; typedef struct ivar_t *Ivar; typedef struct category_t *Category; typedef struct property_t *ob…

【编程题目】左旋转字符串 ☆
26.左旋转字符串(字符串)题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串 abcdef 左旋转 2 位得到字符串 cdefab。请实现字符串左旋转的函数。要求时间对长度为 n 的字符串操作的复杂度为 O…

10、同步机制遵循的原则_我要遵循的10条原则
10、同步机制遵循的原则by Haseeb Qureshi由Haseeb Qureshi 我要遵循的10条原则 (10 Principles I Want to Live By) I just came home from a vow of silence at a meditation center in northern California. It’s a strange feeling coming back to city life after five …

2-Runtime objc_object objc_class
一 NSObject NSObject是OC 中的基类,除了NSProxy其他都继承自NSObject interface NSObject <NSObject> { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wobjc-interface-ivars"Class isa OBJC_ISA_AVAILABILITY; #pragma …

Spring3.0 AOP 具体解释
一、什么是 AOP。 AOP(Aspect Orient Programming),也就是面向切面编程。能够这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程…

通过Appium获取Android app中webview
因为要测试Android app中嵌入的web页面,所以需要从native切换到webview。网上查了好多帖子,都用到类似下面代码: //判断是否有 WEBVIEWSet<String> contextNames driver.getContextHandles();for (String contextName : contextNames)…

javascript原理_JavaScript程序包管理器工作原理简介
javascript原理by Shubheksha通过Shubheksha JavaScript程序包管理器工作原理简介 (An introduction to how JavaScript package managers work) A few days ago, ashley williams, one of the leaders of the Node.js community, tweeted this:几天前,Node.js社区…